Lines Matching defs:IVInc
2082 struct IVInc {
2087 IVInc(Instruction *U, Value *O, const SCEV *E)
2094 SmallVector<IVInc, 1> Incs;
2098 IVChain(const IVInc &Head, const SCEV *Base)
2101 using const_iterator = SmallVectorImpl<IVInc>::const_iterator;
2115 // Add an IVInc to the end of this chain.
2116 void add(const IVInc &X) { Incs.push_back(X); }
2995 /// IVInc==b-a.
3065 /// TODO: Consider IVInc free if it's already used in another chains.
3102 for (const IVInc &Inc : Chain) {
3202 IVChainVec.push_back(IVChain(IVInc(UserInst, IVOper, LastIncExpr),
3211 IVChainVec[ChainIdx].add(IVInc(UserInst, IVOper, LastIncExpr));
3350 for (const IVInc &Inc : Chain) {
3358 /// Return true if the IVInc can be folded into an addressing mode.
3390 /// Generate an add or subtract for each IVInc in a chain to materialize the IV
3396 const IVInc &Head = Chain.Incs[0];
3434 for (const IVInc &Inc : Chain) {
6028 // Trying to hoist the IVInc to loop header if all IVInc users are in
6038 // the header block. Later we can hoist the IVInc to the block post