Lines Matching defs:IVChain
2093 struct IVChain {
2097 IVChain() = default;
2098 IVChain(const IVInc &Head, const SCEV *Base)
2183 SmallVector<IVChain, MaxChains> IVChainVec;
2204 void FinalizeChain(IVChain &Chain);
2206 void GenerateIVChain(const IVChain &Chain,
2981 /// IVChain logic must consistently peek base TruncInst operands, so wrap it in
3037 bool IVChain::isProfitableIncrement(const SCEV *OperExpr,
3066 static bool isProfitableChain(IVChain &Chain,
3158 IVChain &Chain = IVChainVec[ChainIdx];
3202 IVChainVec.push_back(IVChain(IVInc(UserInst, IVOper, LastIncExpr),
3213 IVChain &Chain = IVChainVec[ChainIdx];
3234 IVChain::const_iterator IncIter = Chain.Incs.begin();
3235 IVChain::const_iterator IncEnd = Chain.Incs.end();
3346 void LSRInstance::FinalizeChain(IVChain &Chain) {
3392 void LSRInstance::GenerateIVChain(const IVChain &Chain,
6067 for (const IVChain &Chain : IVChainVec) {
6087 for (const IVChain &Chain : IVChainVec) {