[llvm] [VPlan] Delay adding canonical IV increment. (PR #82270)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 13 03:12:17 PST 2024
================
@@ -1426,22 +1388,18 @@ bool VPlanTransforms::tryAddExplicitVectorLength(VPlan &Plan) {
{EVLPhi, Plan.getTripCount()});
VPEVL->insertBefore(*Header, Header->getFirstNonPhi());
- auto *CanonicalIVIncrement =
- cast<VPInstruction>(CanonicalIVPHI->getBackedgeValue());
VPSingleDefRecipe *OpVPEVL = VPEVL;
if (unsigned IVSize = CanonicalIVPHI->getScalarType()->getScalarSizeInBits();
IVSize != 32) {
OpVPEVL = new VPScalarCastRecipe(IVSize < 32 ? Instruction::Trunc
: Instruction::ZExt,
OpVPEVL, CanonicalIVPHI->getScalarType());
- OpVPEVL->insertBefore(CanonicalIVIncrement);
+ Latch->appendRecipe(OpVPEVL);
}
auto *NextEVLIV =
- new VPInstruction(Instruction::Add, {OpVPEVL, EVLPhi},
- {CanonicalIVIncrement->hasNoUnsignedWrap(),
- CanonicalIVIncrement->hasNoSignedWrap()},
- CanonicalIVIncrement->getDebugLoc(), "index.evl.next");
- NextEVLIV->insertBefore(CanonicalIVIncrement);
+ new VPInstruction(Instruction::Add, {OpVPEVL, EVLPhi}, {false, false},
----------------
fhahn wrote:
Added, thanks
https://github.com/llvm/llvm-project/pull/82270
More information about the llvm-commits
mailing list