Lines Matching defs:IV
2232 // Step 2: Insert new IV and loop condition:
2715 // Step 4: Rewrite the loop into a countable form, with canonical IV.
2719 auto *IV = Builder.CreatePHI(Ty, 2, CurLoop->getName() + ".iv");
2725 Builder.CreateAdd(IV, ConstantInt::get(Ty, 1), IV->getName() + ".next",
2734 // Populate the IV PHI.
2735 IV->addIncoming(ConstantInt::get(Ty, 0), LoopPreheaderBB);
2736 IV->addIncoming(IVNext, LoopHeaderBB);
2781 Intrinsic::ID &IntrinID, Instruction *&IV,
2829 if (match(NBits, m_c_Add(m_Instruction(IV),
2834 m_Sub(m_Instruction(IV),
2839 IV = NBits;
2844 auto *IVPN = dyn_cast<PHINode>(IV);
2952 Instruction *IV;
2956 if (!detectShiftUntilZeroIdiom(CurLoop, SE, ValShiftedIsZero, IntrID, IV,
2975 Builder.SetCurrentDebugLocation(IV->getDebugLoc());
3002 // Step 1: Compute the loop's final IV value / trip count.
3035 // induction variable's final value instead of the orig. IV itself.
3037 IV->replaceUsesOutsideBlock(IVFinal, LoopHeaderBB);
3039 // Step 3: Rewrite the loop into a countable form, with canonical IV.
3060 // The original IV, but rebased to be an offset to the CIV.
3063 IVDePHId->takeName(IV);
3070 // Populate the IV PHI.
3080 IV->replaceAllUsesWith(IVDePHId);
3081 IV->eraseFromParent();