Skip to content

Commit e1a8bfb

Browse files
committed
Address feedback
1 parent f4d12ee commit e1a8bfb

File tree

1 file changed

+16
-30
lines changed

1 file changed

+16
-30
lines changed

llvm/test/Analysis/ValueTracking/phi-self.ll

Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,11 @@ define i32 @other_noundef() {
1010
; CHECK: [[LOOP]]:
1111
; CHECK-NEXT: [[NONPOISON:%.*]] = phi i32 [ 0, %[[START]] ], [ [[NONPOISON]], %[[BB0:.*]] ], [ 1, %[[BB1:.*]] ]
1212
; CHECK-NEXT: [[I:%.*]] = call i32 @opaque()
13-
; CHECK-NEXT: switch i32 [[I]], label %[[EXIT0:.*]] [
13+
; CHECK-NEXT: switch i32 [[I]], label %[[EXIT:.*]] [
1414
; CHECK-NEXT: i32 0, label %[[BB0]]
1515
; CHECK-NEXT: i32 1, label %[[BB1]]
16-
; CHECK-NEXT: i32 2, label %[[EXIT1:.*]]
1716
; CHECK-NEXT: ]
18-
; CHECK: [[EXIT0]]:
19-
; CHECK-NEXT: br label %[[EXIT1]]
20-
; CHECK: [[EXIT1]]:
17+
; CHECK: [[EXIT]]:
2118
; CHECK-NEXT: ret i32 [[NONPOISON]]
2219
; CHECK: [[BB0]]:
2320
; CHECK-NEXT: br label %[[LOOP]]
@@ -27,26 +24,22 @@ define i32 @other_noundef() {
2724
start:
2825
br label %loop
2926

30-
loop: ; preds = %bb1, %bb0, %start
27+
loop:
3128
%nonpoison = phi i32 [ 0, %start ], [ %nonpoison, %bb0 ], [ 1, %bb1 ]
3229
%i = call i32 @opaque()
33-
switch i32 %i, label %exit0 [
30+
switch i32 %i, label %exit [
3431
i32 0, label %bb0
3532
i32 1, label %bb1
36-
i32 2, label %exit1
3733
]
3834

39-
exit0: ; preds = %loop
40-
br label %exit1
41-
42-
exit1: ; preds = %exit0, %loop
43-
%r = phi i32 [ %nonpoison, %loop ], [ undef, %exit0 ]
35+
exit:
36+
%r = freeze i32 %nonpoison
4437
ret i32 %r
4538

46-
bb0: ; preds = %loop
39+
bb0:
4740
br label %loop
4841

49-
bb1: ; preds = %loop
42+
bb1:
5043
br label %loop
5144
}
5245

@@ -56,14 +49,11 @@ define i32 @other_poison() {
5649
; CHECK-NEXT: br label %[[LOOP:.*]]
5750
; CHECK: [[LOOP]]:
5851
; CHECK-NEXT: [[I:%.*]] = call i32 @opaque()
59-
; CHECK-NEXT: switch i32 [[I]], label %[[EXIT0:.*]] [
52+
; CHECK-NEXT: switch i32 [[I]], label %[[EXIT:.*]] [
6053
; CHECK-NEXT: i32 0, label %[[BB0:.*]]
6154
; CHECK-NEXT: i32 1, label %[[BB1:.*]]
62-
; CHECK-NEXT: i32 2, label %[[EXIT1:.*]]
6355
; CHECK-NEXT: ]
64-
; CHECK: [[EXIT0]]:
65-
; CHECK-NEXT: br label %[[EXIT1]]
66-
; CHECK: [[EXIT1]]:
56+
; CHECK: [[EXIT]]:
6757
; CHECK-NEXT: ret i32 0
6858
; CHECK: [[BB0]]:
6959
; CHECK-NEXT: br label %[[LOOP]]
@@ -73,26 +63,22 @@ define i32 @other_poison() {
7363
start:
7464
br label %loop
7565

76-
loop: ; preds = %bb1, %bb0, %start
66+
loop:
7767
%maypoison = phi i32 [ 0, %start ], [ %maypoison, %bb0 ], [ poison, %bb1 ]
7868
%i = call i32 @opaque()
79-
switch i32 %i, label %exit0 [
69+
switch i32 %i, label %exit [
8070
i32 0, label %bb0
8171
i32 1, label %bb1
82-
i32 2, label %exit1
8372
]
8473

85-
exit0: ; preds = %loop
86-
br label %exit1
87-
88-
exit1: ; preds = %exit0, %loop
89-
%r = phi i32 [ %maypoison, %loop ], [ undef, %exit0 ]
74+
exit:
75+
%r = freeze i32 %maypoison
9076
ret i32 %r
9177

92-
bb0: ; preds = %loop
78+
bb0:
9379
br label %loop
9480

95-
bb1: ; preds = %loop
81+
bb1:
9682
br label %loop
9783
}
9884

0 commit comments

Comments
 (0)