[llvm] [VPlan] Make CanIV part of region. (PR #144803)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 10 05:12:55 PDT 2025
================
@@ -430,26 +439,19 @@ static void addCanonicalIVRecipes(VPlan &Plan, VPBasicBlock *HeaderVPBB,
DebugLoc DL) {
Value *StartIdx = ConstantInt::get(IdxTy, 0);
auto *StartV = Plan.getOrAddLiveIn(StartIdx);
-
- // Add a VPCanonicalIVPHIRecipe starting at 0 to the header.
- auto *CanonicalIVPHI = new VPCanonicalIVPHIRecipe(StartV, DL);
+ auto *CanonicalIVPHI = new VPPhi(StartV, DL);
HeaderVPBB->insert(CanonicalIVPHI, HeaderVPBB->begin());
- // We are about to replace the branch to exit the region. Remove the original
- // BranchOnCond, if there is any.
+ // We are about to replace the branch to exit the region. Remove the
+ // original BranchOnCond, if there is any.
if (!LatchVPBB->empty() &&
match(&LatchVPBB->back(), m_BranchOnCond(m_VPValue())))
LatchVPBB->getTerminator()->eraseFromParent();
VPBuilder Builder(LatchVPBB);
- // Add a VPInstruction to increment the scalar canonical IV by VF * UF.
- // Initially the induction increment is guaranteed to not wrap, but that may
- // change later, e.g. when tail-folding, when the flags need to be dropped.
- auto *CanonicalIVIncrement = Builder.createOverflowingOp(
+ auto CanonicalIVIncrement = Builder.createOverflowingOp(
Instruction::Add, {CanonicalIVPHI, &Plan.getVFxUF()}, {true, false}, DL,
"index.next");
- CanonicalIVPHI->addOperand(CanonicalIVIncrement);
-
----------------
ayalz wrote:
Dropped?
https://github.com/llvm/llvm-project/pull/144803
More information about the llvm-commits
mailing list