[llvm] [LV][EVL] Support call instruction with EVL-vectorization (PR #110412)

Mel Chen via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 22 00:08:21 PST 2024


================
@@ -1027,6 +1027,10 @@ InstructionCost VPWidenIntrinsicRecipe::computeCost(ElementCount VF,
   for (const auto &[Idx, Op] : enumerate(operands())) {
     auto *V = Op->getUnderlyingValue();
     if (!V) {
+      if (VPIntrinsic::isVPIntrinsic(VectorIntrinsicID)) {
+        Arguments.push_back(V);
+        break;
+      }
----------------
Mel-Chen wrote:

Why you don't push both null mask and null evl?
```suggestion
      if (VPIntrinsic::isVPIntrinsic(VectorIntrinsicID) && 
          (VPIntrinsic::getMaskParamPos(VectorIntrinsicID) == Idx || 
          VPIntrinsic::getVectorLengthParamPos(VectorIntrinsicID) == Idx)) {
        Arguments.push_back(V);
        continue;
      }
```

https://github.com/llvm/llvm-project/pull/110412


More information about the llvm-commits mailing list