[llvm] [LoopBoundSplit] Fix edge connections during transformation (PR #192106)

Congzhe Cao via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 15 12:07:42 PDT 2026


================
@@ -356,6 +356,11 @@ static bool splitLoopBound(Loop &L, DominatorTree &DT, LoopInfo &LI,
   BasicBlock *PostLoopPreHeader = PostLoop->getLoopPreheader();
   IRBuilder<> Builder(&PostLoopPreHeader->front());
 
+  // Replace exit branch target of pre-loop by post-loop's preheader.
+  if (L.getExitBlock() == ExitingCond.BI->getSuccessor(0))
+    ExitingCond.BI->setSuccessor(0, PostLoopPreHeader);
+  else
+    ExitingCond.BI->setSuccessor(1, PostLoopPreHeader);
----------------
CongzheUalberta wrote:

Updated the comment accordingly.

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


More information about the llvm-commits mailing list