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

David Sherwood via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 10 01:24:01 PST 2024


================
@@ -2601,9 +2607,9 @@ BasicBlock *InnerLoopVectorizer::emitMemRuntimeChecks(BasicBlock *Bypass) {
 void InnerLoopVectorizer::createVectorLoopSkeleton(StringRef Prefix) {
   LoopVectorPreHeader = OrigLoop->getLoopPreheader();
   assert(LoopVectorPreHeader && "Invalid loop structure");
-  assert((OrigLoop->getUniqueExitBlock() ||
+  assert((OrigLoop->getUniqueLatchExitBlock() ||
           Cost->requiresScalarEpilogue(VF.isVector())) &&
-         "multiple exit loop without required epilogue?");
+         "loops not exiting via the latch without required epilogue?");
----------------
david-arm wrote:

If possible I'd prefer not to make this patch dependent on another PR, since this PR has already been blocking https://github.com/llvm/llvm-project/pull/88385 for two months. Could some of these comments be addressed after this PR lands or in an independent PR?

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


More information about the llvm-commits mailing list