55; in jump-threading when it tries to update the predecessors'
66; profile metadata from a phi node.
77
8- define void @unreachable_single_bb_loop (i1 %arg ) {
8+ define void @unreachable_single_bb_loop () {
99;
1010; CHECK-LABEL: @unreachable_single_bb_loop(
1111; CHECK-NEXT: bb:
12- ; CHECK-NEXT: [[TMP:%.*]] = call i32 @a(i1 %arg )
12+ ; CHECK-NEXT: [[TMP:%.*]] = call i32 @a()
1313; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[TMP]], 1
1414; CHECK-NEXT: br i1 [[TMP1]], label [[BB8:%.*]], label [[BB8]]
1515; CHECK: bb2:
@@ -22,7 +22,7 @@ define void @unreachable_single_bb_loop(i1 %arg) {
2222; CHECK-NEXT: ret void
2323;
2424bb:
25- %tmp = call i32 @a (i1 %arg )
25+ %tmp = call i32 @a ()
2626 %tmp1 = icmp eq i32 %tmp , 1
2727 br i1 %tmp1 , label %bb5 , label %bb8
2828
@@ -45,11 +45,11 @@ bb8: ; preds = %bb8, %bb7, %bb5, %b
4545 ret void
4646}
4747
48- define void @unreachable_multi_bbs_loop (i1 %arg ) {
48+ define void @unreachable_multi_bbs_loop () {
4949;
5050; CHECK-LABEL: @unreachable_multi_bbs_loop(
5151; CHECK-NEXT: bb:
52- ; CHECK-NEXT: [[TMP:%.*]] = call i32 @a(i1 %arg )
52+ ; CHECK-NEXT: [[TMP:%.*]] = call i32 @a()
5353; CHECK-NEXT: [[TMP1:%.*]] = icmp eq i32 [[TMP]], 1
5454; CHECK-NEXT: br i1 [[TMP1]], label [[BB8:%.*]], label [[BB8]]
5555; CHECK: bb3:
@@ -64,7 +64,7 @@ define void @unreachable_multi_bbs_loop(i1 %arg) {
6464; CHECK-NEXT: ret void
6565;
6666bb:
67- %tmp = call i32 @a (i1 %arg )
67+ %tmp = call i32 @a ()
6868 %tmp1 = icmp eq i32 %tmp , 1
6969 br i1 %tmp1 , label %bb5 , label %bb8
7070
@@ -89,7 +89,7 @@ bb7: ; preds = %bb5
8989bb8: ; preds = %bb8, %bb7, %bb5, %bb2
9090 ret void
9191}
92- declare i32 @a (i1 %arg )
92+ declare i32 @a ()
9393
9494; This gets into a state that could cause instruction simplify
9595; to hang - an insertelement instruction has itself as an operand.
0 commit comments