[llvm] [VPlan] Use VPIRMetadata for VPInterleaveRecipe. (PR #153084)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 16 11:34:51 PDT 2025
================
@@ -2579,12 +2579,24 @@ void VPlanTransforms::createInterleaveGroups(
VPDominatorTree VPDT;
VPDT.recalculate(Plan);
for (const auto *IG : InterleaveGroups) {
+ auto *Start =
+ cast<VPWidenMemoryRecipe>(RecipeBuilder.getRecipe(IG->getMember(0)));
+
+ VPIRMetadata InterleaveMD(*Start);
SmallVector<VPValue *, 4> StoredValues;
- for (unsigned i = 0; i < IG->getFactor(); ++i)
- if (auto *SI = dyn_cast_or_null<StoreInst>(IG->getMember(i))) {
- auto *StoreR = cast<VPWidenStoreRecipe>(RecipeBuilder.getRecipe(SI));
- StoredValues.push_back(StoreR->getStoredValue());
- }
+ if (auto *StoreR = dyn_cast<VPWidenStoreRecipe>(Start))
+ StoredValues.push_back(StoreR->getStoredValue());
+ for (unsigned I = 1; I < IG->getFactor(); ++I) {
+ Instruction *MemI = IG->getMember(I);
----------------
ayalz wrote:
```suggestion
Instruction *MemberI = IG->getMember(I);
```
(Mem also stands for Memory)
https://github.com/llvm/llvm-project/pull/153084
More information about the llvm-commits
mailing list