[llvm] [VPlan] Dispatch to multiple exit blocks via middle blocks. (PR #112138)

David Sherwood via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 22 03:59:52 PDT 2024


================
@@ -2819,6 +2820,9 @@ void InnerLoopVectorizer::fixupIVUsers(PHINode *OrigPhi,
     if (PHI->getBasicBlockIndex(MiddleBlock) == -1)
       PHI->addIncoming(I.second, MiddleBlock);
   }
+
+  assert((MissingVals.empty() || OrigLoop->getUniqueExitBlock()) &&
----------------
david-arm wrote:

Perhaps the assert would be more accurate with the statement `Expected a single exit block for escaping values`?

Also, might be worth moving the assert to before the `for (auto &I : MissingVals)` line because that's the point at which we start adjusting the original scalar code?

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


More information about the llvm-commits mailing list