[llvm] [VPlan] Make widen-gather-scatter decision in VPlan (PR #215862)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 7 03:52:01 PDT 2026


================
@@ -5502,10 +5504,20 @@ void VPlanTransforms::makeMemOpWideningDecisions(VPlan &Plan, VFRange &Range,
                                 IsLoad, ScalarTy, getLoadStoreAlignment(I),
                                 getLoadStoreAddressSpace(I)))
           return false;
+        if (!Consecutive && !LoopVectorizationPlanner::getDecisionAndClampRange(
+                                [&](ElementCount VF) {
+                                  return CostCtx.willGatherScatter(I, VF) &&
+                                         CostCtx.Config.isLegalGatherOrScatter(
+                                             IsLoad, ScalarTy,
+                                             getLoadStoreAlignment(I), VF);
+                                },
+                                Range))
+          return false;
----------------
fhahn wrote:

Is there any part of the devision that is made on the VPlan level? It looks like this is effectively driven by the legacy cost?

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


More information about the llvm-commits mailing list