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

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 30 08:49:24 PDT 2024


================
@@ -1023,6 +1038,18 @@ InstructionCost VPWidenIntrinsicRecipe::computeCost(ElementCount VF,
   // clear Arguments.
   // TODO: Rework TTI interface to be independent of concrete IR values.
   SmallVector<const Value *> Arguments;
+
+  Intrinsic::ID FID = VectorIntrinsicID;
+  unsigned NumOperands = getNumOperands();
+  if (VPIntrinsic::isVPIntrinsic(VectorIntrinsicID)) {
+    std::optional<Intrinsic::ID> ID =
+        VPIntrinsic::getFunctionalIntrinsicIDForVP(VectorIntrinsicID);
+    if (ID) {
+      FID = ID.value();
----------------
fhahn wrote:

for 1), shouldn't it be possible to retrieve the predicate from the intrinsic opcode? 

for 2), would it be sufficient to just don't clear the arguments for VPIntrinics, if needed for cost computations?

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


More information about the llvm-commits mailing list