[llvm] [LV] Allow scalable epilogue VFs matching the MainLoop VF (PR #208686)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 13 03:56:36 PDT 2026
================
@@ -3592,14 +3592,11 @@ std::unique_ptr<VPlan> LoopVectorizationPlanner::selectBestEpiloguePlan(
VPlan &CurrentPlan = getPlanFor(NextVF.Width);
ElementCount EffectiveVF = GetEffectiveVF(CurrentPlan, NextVF.Width);
- // Skip candidate VFs with widths >= the (estimated) runtime VF (scalable
- // vectors) or > the VF of the main loop (fixed vectors).
+ // Skip fixed vector VFs > to the estimated runtime VF, or any VF > than
+ // the VF of the main loop.
if ((!EffectiveVF.isScalable() && MainLoopVF.isScalable() &&
- ElementCount::isKnownGE(EffectiveVF, EstimatedRuntimeVF)) ||
- (EffectiveVF.isScalable() &&
- ElementCount::isKnownGE(EffectiveVF, MainLoopVF)) ||
- (!EffectiveVF.isScalable() && !MainLoopVF.isScalable() &&
- ElementCount::isKnownGT(EffectiveVF, MainLoopVF)))
+ ElementCount::isKnownGT(EffectiveVF, EstimatedRuntimeVF)) ||
+ ElementCount::isKnownGT(EffectiveVF, MainLoopVF))
----------------
sdesmalen-arm wrote:
Yes, you're right, we don't want to break the scalable/scalable (EffectiveVF/MainLoopVF) case!
https://github.com/llvm/llvm-project/pull/208686
More information about the llvm-commits
mailing list