InstCombine: If we call llvm.objectsize on a malloc call we can replace it with the...
[oota-llvm.git] / test / Transforms / InstCombine / canonicalize_branch.ll
1 ; RUN: opt < %s -instcombine -S | FileCheck %s
2
3 define i32 @test1(i32 %X, i32 %Y) {
4         %C = icmp ne i32 %X, %Y
5         br i1 %C, label %T, label %F
6
7 ; CHECK: @test1
8 ; CHECK: %C = icmp eq i32 %X, %Y
9 ; CHECK: br i1 %C, label %F, label %T
10
11 T:
12         ret i32 12
13 F:
14         ret i32 123
15 }
16
17 define i32 @test2(i32 %X, i32 %Y) {
18         %C = icmp ule i32 %X, %Y
19         br i1 %C, label %T, label %F
20
21 ; CHECK: @test2
22 ; CHECK: %C = icmp ugt i32 %X, %Y
23 ; CHECK: br i1 %C, label %F, label %T
24
25 T:
26         ret i32 12
27 F:
28         ret i32 123
29 }
30
31 define i32 @test3(i32 %X, i32 %Y) {
32         %C = icmp uge i32 %X, %Y
33         br i1 %C, label %T, label %F
34
35 ; CHECK: @test3
36 ; CHECK: %C = icmp ult i32 %X, %Y
37 ; CHECK: br i1 %C, label %F, label %T
38
39 T:
40         ret i32 12
41 F:
42         ret i32 123
43 }
44