Lines Matching refs:Incs
2099 SmallVector<IVInc, 1> Incs; member
2104 : Incs(1, Head), ExprBase(Base) {} in IVChain()
2110 assert(!Incs.empty()); in begin()
2111 return std::next(Incs.begin()); in begin()
2114 return Incs.end(); in end()
2118 bool hasIncs() const { return Incs.size() >= 2; } in hasIncs()
2121 void add(const IVInc &X) { Incs.push_back(X); } in add()
2124 Instruction *tailUserInst() const { return Incs.back().UserInst; } in tailUserInst()
3046 const SCEV *HeadExpr = SE.getSCEV(getWideOperand(Incs[0].IVOperand)); in isProfitableIncrement()
3076 LLVM_DEBUG(dbgs() << "Chain: " << *Chain.Incs[0].UserInst << " users:\n"; in isProfitableChain()
3081 assert(!Chain.Incs.empty() && "empty IV chains are not allowed"); in isProfitableChain()
3090 && SE.getSCEV(Chain.tailUserInst()) == Chain.Incs[0].IncExpr) { in isProfitableChain()
3098 if (TTI.isProfitableLSRChainElement(Chain.Incs[0].UserInst)) in isProfitableChain()
3137 LLVM_DEBUG(dbgs() << "Chain: " << *Chain.Incs[0].UserInst << " Cost: " << cost in isProfitableChain()
3166 Value *PrevIV = getWideOperand(Chain.Incs.back().IVOperand); in ChainInstruction()
3233 IVChain::const_iterator IncIter = Chain.Incs.begin(); in ChainInstruction()
3234 IVChain::const_iterator IncEnd = Chain.Incs.end(); in ChainInstruction()
3346 assert(!Chain.Incs.empty() && "empty IV chains are not allowed"); in FinalizeChain()
3347 LLVM_DEBUG(dbgs() << "Final Chain: " << *Chain.Incs[0].UserInst << "\n"); in FinalizeChain()
3395 const IVInc &Head = Chain.Incs[0]; in GenerateIVChain()