Use the llvm-upgrade program to upgrade llvm assembly.
[oota-llvm.git] / test / Transforms / SimplifyCFG / switch_create.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | not grep br
2
3 declare void %foo1()
4 declare void %foo2()
5
6 void %test1(uint %V) {
7         %C1 = seteq uint %V, 4
8         %C2 = seteq uint %V, 17
9         %CN = or bool %C1, %C2
10         br bool %CN, label %T, label %F
11 T:
12         call void %foo1()
13         ret void
14 F:
15         call void %foo2()
16         ret void
17 }
18
19
20 void %test2(int %V) {
21         %C1 = setne int %V, 4
22         %C2 = setne int %V, 17
23         %CN = and bool %C1, %C2
24         br bool %CN, label %T, label %F
25 T:
26         call void %foo1()
27         ret void
28 F:
29         call void %foo2()
30         ret void
31 }
32
33
34 void %test3(int %V) {
35         %C1 = seteq int %V, 4
36         br bool %C1, label %T, label %N
37 N:
38         %C2 = seteq int %V, 17
39         br bool %C2, label %T, label %F
40 T:
41         call void %foo1()
42         ret void
43 F:
44         call void %foo2()
45         ret void
46 }
47
48