[llvm] [LV] Update forced epilogue VF options to allow different VFs than main. (PR #190393)
Ramkumar Ramachandra via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 8 04:51:21 PDT 2026
================
@@ -7183,6 +7198,18 @@ LoopVectorizationPlanner::computeBestVF() {
if (VPlans.size() == 1 && size(FirstPlan.vectorFactors()) == 1)
return {{*FirstPlan.vectorFactors().begin(), 0, 0}, &FirstPlan};
+ ElementCount UserVF = Hints.getWidth();
+ if (EpilogueVectorizationForceVF > 1 && UserVF && hasPlanWithVF(UserVF)) {
+ [[maybe_unused]] ElementCount EpilogueVF =
+ ElementCount::getFixed(EpilogueVectorizationForceVF);
+ assert(*VPlans[0]->vectorFactors().begin() == EpilogueVF &&
+ "expected first plan to be for the forced epilogue VF");
+ assert(*VPlans[1]->vectorFactors().begin() == UserVF &&
+ "expected second plan to be for the forced UserVF");
+ return {{UserVF, 0, 0}, &*VPlans[1]};
+ }
+
+ ElementCount ScalarVF = ElementCount::getFixed(1);
----------------
artagnon wrote:
Why was this moved?
https://github.com/llvm/llvm-project/pull/190393
More information about the llvm-commits
mailing list