[llvm] [ControlFlowHub] Fix duplicate DomTree updates when branch successors are identical (PR #176620)
Shilei Tian via llvm-commits
llvm-commits at lists.llvm.org
Sat Jan 17 19:15:21 PST 2026
================
@@ -0,0 +1,37 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
+; RUN: opt -S -passes=fix-irreducible %s | FileCheck %s
+
+define void @func(i1 %v.0, i1 %v.1) {
+; CHECK-LABEL: define void @func(
+; CHECK-SAME: i1 [[V_0:%.*]], i1 [[V_1:%.*]]) {
+; CHECK-NEXT: [[ENTRY:.*:]]
+; CHECK-NEXT: br i1 [[V_0]], label %[[BB_1:.*]], label %[[BB_2:.*]]
+; CHECK: [[BB_1]]:
+; CHECK-NEXT: br label %[[IRR_GUARD:.*]]
+; CHECK: [[BB_2]]:
+; CHECK-NEXT: br label %[[IRR_GUARD]]
+; CHECK: [[BB_3:.*]]:
+; CHECK-NEXT: br label %[[BB_4:.*]]
+; CHECK: [[BB_4]]:
+; CHECK-NEXT: br label %[[IRR_GUARD]]
+; CHECK: [[IRR_GUARD]]:
+; CHECK-NEXT: [[GUARD_BB_3:%.*]] = phi i1 [ true, %[[BB_4]] ], [ [[V_1]], %[[BB_2]] ], [ false, %[[BB_1]] ]
----------------
shiltian wrote:
Well, this `fix-irreducible` doesn't work right for `bb.2`. Need to fix there.
https://github.com/llvm/llvm-project/pull/176620
More information about the llvm-commits
mailing list