[llvm] [AMDGPU][UnifyLoopExits] Fix duplicate successor handling (PR #170759)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 8 10:51:07 PST 2025


================
@@ -755,9 +755,11 @@ BasicBlock *llvm::SplitCallBrEdge(BasicBlock *CallBrBlock, BasicBlock *Succ,
   updateCycleLoopInfo<CycleInfo, Cycle>(CI, CallBrBlock, CallBrTarget, Succ);
   if (DTU) {
     DTU->applyUpdates({{DominatorTree::Insert, CallBrBlock, CallBrTarget}});
-    if (DTU->getDomTree().dominates(CallBrBlock, Succ))
-      DTU->applyUpdates({{DominatorTree::Delete, CallBrBlock, Succ},
-                         {DominatorTree::Insert, CallBrTarget, Succ}});
+    if (DTU->getDomTree().dominates(CallBrBlock, Succ)) {
+      if (!is_contained(successors(CallBrBlock), Succ))
----------------
arsenm wrote:

I thought DomTree updater handled this for you? 

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


More information about the llvm-commits mailing list