[llvm] [LV][VPlan] Introduce VPScalarStore recipe to handle scalar stores in exit block. (PR #93148)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 29 05:27:25 PDT 2024


================
@@ -2821,6 +2823,55 @@ class VPScalarIVStepsRecipe : public VPRecipeWithIRFlags {
   }
 };
 
+/// A recipe to represent scalar stores that sink outside the vector loop.
+class VPIntermediateStoreRecipe : public VPRecipeBase {
----------------
fhahn wrote:

In general, VPInstruction is intended to be used for cases where Opcode + VPVAlue operands are sufficient to define the operation to avoid explosion of recipe classes. There are other opcodes that don't define values (this is similar to LLVM IR's Instructions which also all are Values, but possibly of VoidTy.

In this case, it looks like it would be good to store additional data (alignment), so having a separate recipe seems fine.

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


More information about the llvm-commits mailing list