[llvm] [VPlan] Directly unroll VectorPointerRecipe (PR #168886)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 14 14:10:12 PST 2025
================
@@ -1966,20 +1966,26 @@ class VPVectorEndPointerRecipe : public VPRecipeWithIRFlags,
#endif
};
-/// A recipe to compute the pointers for widened memory accesses of IndexTy.
-class VPVectorPointerRecipe : public VPRecipeWithIRFlags,
- public VPUnrollPartAccessor<1> {
+/// A recipe to compute the pointers for widened memory accesses of \p
+/// SourceElementTy. The recipe has one operand prior to unrolling, \p Ptr.
+/// After unrolling, it has an extra operand which can be queried using \p
+/// getOffset, and it produces `GEP Ptr, Offset` with flags \p GEPFlags, when
+/// executed. The recipe is a no-op when no unrolling is in effect (IC = 1).
----------------
fhahn wrote:
```suggestion
/// A recipe to compute the pointers for widened memory accesses of \p
/// SourceElementTy.
/// Unrolling adds an extra offset operand for unrolled parts > 0 and it produces `GEP Ptr, Offset`. The offset for unrolled part 0 is 0.
```
perhaps good to explicitly refer to the unrolled parts and when operands are added?
https://github.com/llvm/llvm-project/pull/168886
More information about the llvm-commits
mailing list