[llvm] [LV] Vectorize predicated loop-invariant loads via masked load + broadcast (PR #200361)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 10 06:55:53 PDT 2026
================
@@ -6635,6 +6616,9 @@ void LoopVectorizationPlanner::buildVPlans(VPlan &VPlan1, ElementCount MinVF,
// Now optimize the initial VPlan.
RUN_VPLAN_PASS(VPlanTransforms::hoistPredicatedLoads, *Plan, PSE, OrigLoop);
RUN_VPLAN_PASS(VPlanTransforms::sinkPredicatedStores, *Plan, PSE, OrigLoop);
+ VPCostContext InvarLoadCostCtx(*CM.TLI, *Plan, CM, Config);
+ RUN_VPLAN_PASS(VPlanTransforms::widenPredicatedInvariantLoads, *Plan,
+ InvarLoadCostCtx);
----------------
artagnon wrote:
Should we do this near convertToStridedAccesses? Seems like a widening decisions that should happen early?
https://github.com/llvm/llvm-project/pull/200361
More information about the llvm-commits
mailing list