[llvm] [VPlan] Convert EVL loops to variable-length stepping after dissolution (PR #147222)

Mel Chen via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 29 03:16:20 PDT 2025


================
@@ -192,7 +193,13 @@ bool VPlanVerifier::verifyEVLRecipe(const VPInstruction &EVL) const {
             errs() << "EVL used by unexpected VPInstruction\n";
             return false;
           }
-          if (I->getNumUsers() != 1) {
+          // EVLIVIncrement is only used by EVLIV & BranchOnCount.
+          // Having more than two users is unexpected.
+          if ((I->getNumUsers() != 1) &&
+              (I->getNumUsers() != 2 || !any_of(I->users(), [&I](VPUser *U) {
----------------
Mel-Chen wrote:

Could we replace !any_of with none_of here?

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


More information about the llvm-commits mailing list