[llvm] [VPlan] Add support for VPWidenIntOrFpInductionRecipe in predicated D… (PR #115274)
Shih-Po Hung via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 7 19:37:00 PST 2024
================
@@ -1022,6 +1023,8 @@ bool VPWidenIntrinsicRecipe::onlyFirstLaneUsed(const VPValue *Op) const {
assert(is_contained(operands(), Op) && "Op must be an operand of the recipe");
// Vector predication intrinsics only demand the the first lane the last
// operand (the EVL operand).
+ if (VectorIntrinsicID == Intrinsic::experimental_vp_splat)
+ return Op == getOperand(0);
return VPIntrinsic::isVPIntrinsic(VectorIntrinsicID) &&
Op == getOperand(getNumOperands() - 1);
----------------
arcbbb wrote:
I think the condition `Op == getOperand(getNumOperands() - 1)` only checks for EVL operand, but for vp.splat, the first operand is also a scalar use.
https://github.com/llvm/llvm-project/pull/115274
More information about the llvm-commits
mailing list