Skip to content

Commit 72436b3

Browse files
committed
[InstCombine] add more test for #134712 (NFC)
1 parent d7cb24e commit 72436b3

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

llvm/test/Transforms/InstCombine/known-phi-br.ll

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,48 @@ end:
2828
ret i64 %res
2929
}
3030

31+
define i64 @limit_i64_eq_7_commuted(i64 %x) {
32+
; CHECK-LABEL: @limit_i64_eq_7_commuted(
33+
; CHECK-NEXT: entry:
34+
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i64 [[X:%.*]], 7
35+
; CHECK-NEXT: br i1 [[CMP]], label [[END:%.*]], label [[BODY:%.*]]
36+
; CHECK: body:
37+
; CHECK-NEXT: br label [[BODY]]
38+
; CHECK: end:
39+
; CHECK-NEXT: [[RES:%.*]] = phi i64 [ [[X]], [[END]] ], [ 7, [[ENTRY:%.*]] ]
40+
; CHECK-NEXT: ret i64 [[RES]]
41+
;
42+
entry:
43+
%cmp = icmp eq i64 %x, 7
44+
br i1 %cmp, label %body, label %end
45+
body:
46+
br label %end
47+
end:
48+
%res = phi i64 [ %x, %body ], [ 7, %entry ]
49+
ret i64 %res
50+
}
51+
52+
define i64 @neg_limit_i64_eq_7(i64 %x) {
53+
; CHECK-LABEL: @neg_limit_i64_eq_7(
54+
; CHECK-NEXT: entry:
55+
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i64 [[X:%.*]], 7
56+
; CHECK-NEXT: br i1 [[CMP]], label [[END:%.*]], label [[BODY:%.*]]
57+
; CHECK: body:
58+
; CHECK-NEXT: br label [[BODY]]
59+
; CHECK: end:
60+
; CHECK-NEXT: [[RES:%.*]] = phi i64 [ [[X]], [[ENTRY:%.*]] ], [ 7, [[END]] ]
61+
; CHECK-NEXT: ret i64 [[RES]]
62+
;
63+
entry:
64+
%cmp = icmp eq i64 %x, 7
65+
br i1 %cmp, label %body, label %end
66+
body:
67+
br label %end
68+
end:
69+
%res = phi i64 [ %x, %entry ], [ 7, %body ]
70+
ret i64 %res
71+
}
72+
3173
; %x either eq 255 or is set to 255
3274
define i64 @limit_i64_ne_255(i64 %x) {
3375
; CHECK-LABEL: @limit_i64_ne_255(

0 commit comments

Comments
 (0)