Lines Matching defs:IVChain
2098 struct IVChain {
2102 IVChain() = default;
2103 IVChain(const IVInc &Head, const SCEV *Base)
2188 SmallVector<IVChain, MaxChains> IVChainVec;
2203 void FinalizeChain(IVChain &Chain);
2205 void GenerateIVChain(const IVChain &Chain,
2980 /// IVChain logic must consistently peek base TruncInst operands, so wrap it in
3036 bool IVChain::isProfitableIncrement(const SCEV *OperExpr,
3065 static bool isProfitableChain(IVChain &Chain,
3157 IVChain &Chain = IVChainVec[ChainIdx];
3201 IVChainVec.push_back(IVChain(IVInc(UserInst, IVOper, LastIncExpr),
3212 IVChain &Chain = IVChainVec[ChainIdx];
3233 IVChain::const_iterator IncIter = Chain.Incs.begin();
3234 IVChain::const_iterator IncEnd = Chain.Incs.end();
3345 void LSRInstance::FinalizeChain(IVChain &Chain) {
3391 void LSRInstance::GenerateIVChain(const IVChain &Chain,
6073 for (const IVChain &Chain : IVChainVec) {
6090 for (const IVChain &Chain : IVChainVec) {