[llvm] [LV] Support binary and unary operations with EVL-vectorization (PR #93854)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 11 23:35:40 PDT 2024
================
@@ -1435,6 +1450,48 @@ class VPWidenRecipe : public VPRecipeWithIRFlags {
#endif
};
+/// A recipe for widening operations with vector-predication intrinsics.with
+/// explicit vector length (EVL).
+class VPWidenEVLRecipe : public VPWidenRecipe {
+ using VPRecipeWithIRFlags::transferFlags;
+
+public:
+ template <typename IterT>
+ VPWidenEVLRecipe(Instruction &I, iterator_range<IterT> Operands, VPValue &EVL)
+ : VPWidenRecipe(VPDef::VPWidenEVLSC, I, Operands) {
+ addOperand(&EVL);
+ }
+ VPWidenEVLRecipe(VPWidenRecipe *W, VPValue &EVL)
----------------
fhahn wrote:
I think @Mel-Chen recently changed the *EVLRecipe constructors to pass recipes here by reference, would be good to be consistent here as well if that's the case.
https://github.com/llvm/llvm-project/pull/93854
More information about the llvm-commits
mailing list