Lines Matching refs:IVChain
1857 struct IVChain {
1861 IVChain() = default;
1862 IVChain(const IVInc &Head, const SCEV *Base)
1942 SmallVector<IVChain, MaxChains> IVChainVec;
1954 void FinalizeChain(IVChain &Chain);
1956 void GenerateIVChain(const IVChain &Chain, SCEVExpander &Rewriter,
2728 /// IVChain logic must consistently peek base TruncInst operands, so wrap it in
2796 bool IVChain::isProfitableIncrement(const SCEV *OperExpr,
2825 static bool isProfitableChain(IVChain &Chain,
2918 IVChain &Chain = IVChainVec[ChainIdx];
2962 IVChainVec.push_back(IVChain(IVInc(UserInst, IVOper, LastIncExpr),
2973 IVChain &Chain = IVChainVec[ChainIdx];
2994 IVChain::const_iterator IncIter = Chain.Incs.begin();
2995 IVChain::const_iterator IncEnd = Chain.Incs.end();
3106 void LSRInstance::FinalizeChain(IVChain &Chain) {
3139 void LSRInstance::GenerateIVChain(const IVChain &Chain, SCEVExpander &Rewriter,
5527 for (const IVChain &Chain : IVChainVec) {
5539 for (const IVChain &Chain : IVChainVec) {