Skip to content

Commit ebbdb92

Browse files
committed
Step 2.1: Directly create -1 in createEVLRecipe.
1 parent facd896 commit ebbdb92

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1694,8 +1694,11 @@ static VPRecipeBase *createEVLRecipe(VPValue *HeaderMask,
16941694
.Case<VPInstruction>([&](VPInstruction *VPI) -> VPRecipeBase * {
16951695
if (VPI->getOpcode() == VPInstruction::FirstOrderRecurrenceSplice) {
16961696
assert(PrevEVL && "Fixed-order recurrences require previous EVL");
1697+
VPValue *MinusOneVPV = VPI->getParent()->getPlan()->getOrAddLiveIn(
1698+
ConstantInt::getSigned(Type::getInt32Ty(TypeInfo.getContext()),
1699+
-1));
16971700
SmallVector<VPValue *> Ops(VPI->operands());
1698-
Ops.append({&AllOneMask, PrevEVL, &EVL});
1701+
Ops.append({MinusOneVPV, &AllOneMask, PrevEVL, &EVL});
16991702
return new VPWidenIntrinsicRecipe(Intrinsic::experimental_vp_splice,
17001703
Ops, TypeInfo.inferScalarType(VPI),
17011704
VPI->getDebugLoc());

0 commit comments

Comments
 (0)