Use range tests in LowerSwitch, where possible
[oota-llvm.git] / test / Transforms / LowerSwitch / feature.ll
1 ; RUN: llvm-as %s -o - | opt -lowerswitch | llvm-dis | grep slt | wc -l | grep 10 &&
2 ; RUN: llvm-as %s -o - | opt -lowerswitch | llvm-dis | grep ule | wc -l | grep 3 &&
3 ; RUN: llvm-as %s -o - | opt -lowerswitch | llvm-dis | grep eq | wc -l | grep 9
4
5 define i32 @main(i32 %tmp158) {
6 entry:
7         switch i32 %tmp158, label %bb336 [
8                  i32 -2, label %bb338
9                  i32 -3, label %bb338
10                  i32 -4, label %bb338
11                  i32 -5, label %bb338
12                  i32 -6, label %bb338
13                  i32 0, label %bb338
14                  i32 1, label %bb338
15                  i32 2, label %bb338
16                  i32 3, label %bb338
17                  i32 4, label %bb338
18                  i32 5, label %bb338
19                  i32 6, label %bb338
20                  i32 7, label %bb
21                  i32 8, label %bb338
22                  i32 9, label %bb322
23                  i32 10, label %bb324
24                  i32 11, label %bb326
25                  i32 12, label %bb328
26                  i32 13, label %bb330
27                  i32 14, label %bb332
28                  i32 15, label %bb334
29         ]
30 bb:
31   ret i32 2
32 bb322:
33   ret i32 3
34 bb324:
35   ret i32 4
36 bb326:
37   ret i32 5
38 bb328:
39   ret i32 6
40 bb330:
41   ret i32 7
42 bb332:
43   ret i32 8
44 bb334:
45   ret i32 9
46 bb336:
47   ret i32 10
48 bb338:
49   ret i32 11
50 }