[llvm] [VPlan] Run narrowInterleaveGroups during general VPlan optimizations. (PR #149706)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 15 12:11:51 PST 2026
================
@@ -4111,30 +4129,33 @@ void VPlanTransforms::narrowInterleaveGroups(VPlan &Plan, ElementCount VF,
// * recipes writing to memory except interleave groups
// Only support plans with a canonical induction phi.
if (R.isPhi())
- return;
+ return nullptr;
auto *InterleaveR = dyn_cast<VPInterleaveRecipe>(&R);
if (R.mayWriteToMemory() && !InterleaveR)
- return;
-
- // Do not narrow interleave groups if there are VectorPointer recipes and
- // the plan was unrolled. The recipe implicitly uses VF from
- // VPTransformState.
- // TODO: Remove restriction once the VF for the VectorPointer offset is
- // modeled explicitly as operand.
- if (isa<VPVectorPointerRecipe>(&R) && Plan.getUF() > 1)
- return;
----------------
fhahn wrote:
Yep, this is no longer needed on current `main`.
https://github.com/llvm/llvm-project/pull/149706
More information about the llvm-commits
mailing list