xref: /llvm-project/llvm/test/Transforms/InstCombine/pr105510.ll (revision 5155c38ceef019f3225c5eaeba6b986e2430752f)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2; RUN: opt -S -passes=instcombine < %s | FileCheck %s
3
4; Make sure we don't crash in this case.
5@g = global i32 0
6
7define i1 @foo() {
8; CHECK-LABEL: define i1 @foo() {
9; CHECK-NEXT:  [[ENTRY:.*:]]
10; CHECK-NEXT:    br i1 ptrtoint (ptr @g to i1), label %[[IF_THEN:.*]], label %[[IF_ELSE:.*]]
11; CHECK:       [[IF_THEN]]:
12; CHECK-NEXT:    ret i1 true
13; CHECK:       [[IF_ELSE]]:
14; CHECK-NEXT:    ret i1 false
15;
16entry:
17  br i1 ptrtoint (ptr @g to i1), label %if.then, label %if.else
18
19if.then:
20  ret i1 true
21
22if.else:
23  ret i1 false
24}
25
26define i1 @bar() {
27; CHECK-LABEL: define i1 @bar() {
28; CHECK-NEXT:  [[ENTRY:.*:]]
29; CHECK-NEXT:    br i1 ptrtoint (ptr @g to i1), label %[[IF_THEN:.*]], label %[[IF_ELSE:.*]]
30; CHECK:       [[IF_THEN]]:
31; CHECK-NEXT:    ret i1 true
32; CHECK:       [[IF_ELSE]]:
33; CHECK-NEXT:    ret i1 false
34;
35entry:
36  br i1 ptrtoint (ptr @g to i1), label %if.then, label %if.else
37
38if.then:
39  ret i1 true
40
41if.else:
42  ret i1 false
43}
44