Lines Matching defs:IV
330 Instruction *&IV,
332 bool collectAllRoots(Loop *L, uint64_t Inc, uint64_t Scale, Instruction *IV,
336 bool reroll(Instruction *IV, Loop *L, BasicBlock *Header, const SCEV *IterCount,
390 DEBUG(dbgs() << "LRR: Possible IV: " << *I << " = " <<
466 // including root increments in the use set of the primary IV.
545 // and, if found, set IV = %scaled.iv, and add %iv.next to LoopIncs.
547 Instruction *&IV,
596 IV = User1;
611 Instruction *IV,
615 for (User *U : IV->users()) {
619 if (UI->getType() != IV->getType())
627 SE->getSCEV(UI), SE->getSCEV(IV)))) {
770 bool LoopReroll::reroll(Instruction *IV, Loop *L, BasicBlock *Header,
773 const SCEVAddRecExpr *RealIVSCEV = cast<SCEVAddRecExpr>(SE->getSCEV(IV));
780 // The effective induction variable, IV, is normally also the real induction
786 // then the real IV is still i, but the effective IV is (3*i).
787 Instruction *RealIV = IV;
788 if (Inc == 1 && !findScaleFromMul(RealIV, Scale, IV, LoopIncs))
797 if (!collectAllRoots(L, Inc, Scale, IV, Roots, AllRoots, LoopIncs))
825 collectInLoopUserSet(L, IV, Exclude, PossibleRedSet, BaseUseSet);
860 if (cast<Instruction>(J1) == IV)
968 Op2 = IV;
1029 if (cast<Instruction>(J) == IV)
1086 Value *NewIV = Expander.expandCodeFor(H, IV->getType(), Header->begin());
1090 (*J)->replaceUsesOfWith(IV, NewIV);
1174 // For each possible IV, collect the associated possible set of 'root' nodes