[llvm] [VPlan] Introduce VPSingleDefRecipe. (PR #77023)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 11 06:04:38 PST 2024


================
@@ -912,25 +970,28 @@ class VPRecipeWithIRFlags : public VPRecipeBase {
     } else if (auto *Op = dyn_cast<FPMathOperator>(&I)) {
       OpType = OperationType::FPMathOp;
       FMFs = Op->getFastMathFlags();
+    } else {
+      OpType = OperationType::Other;
+      AllFlags = 0;
----------------
fhahn wrote:

This is now needed as all recipes that passed an underlying value to the VPValue constructor now has to go through here. 

Alternatively`VPRecipeWithIRFlags(const unsigned char SC, IterT Operands, DebugLoc DL = {})` could be adjusted to pass through a `Value *` pointer to `VPSingleDefRecipe`, but that would be very subtle overloading difference to the other constructor.

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


More information about the llvm-commits mailing list