[inliner] Significantly improve the compile time in cases like PR19499
[oota-llvm.git] / test / Transforms / Inline / switch.ll
1 ; RUN: opt < %s -inline -inline-threshold=20 -S | FileCheck %s
2
3 define i32 @callee(i32 %a) {
4   switch i32 %a, label %sw.default [
5     i32 0, label %sw.bb0
6     i32 1, label %sw.bb1
7     i32 2, label %sw.bb2
8     i32 3, label %sw.bb3
9     i32 4, label %sw.bb4
10     i32 5, label %sw.bb5
11     i32 6, label %sw.bb6
12     i32 7, label %sw.bb7
13     i32 8, label %sw.bb8
14     i32 9, label %sw.bb9
15   ]
16
17 sw.default:
18   br label %return
19
20 sw.bb0:
21   br label %return
22
23 sw.bb1:
24   br label %return
25
26 sw.bb2:
27   br label %return
28
29 sw.bb3:
30   br label %return
31
32 sw.bb4:
33   br label %return
34
35 sw.bb5:
36   br label %return
37
38 sw.bb6:
39   br label %return
40
41 sw.bb7:
42   br label %return
43
44 sw.bb8:
45   br label %return
46
47 sw.bb9:
48   br label %return
49
50 return:
51   ret i32 42
52 }
53
54 define i32 @caller(i32 %a) {
55 ; CHECK-LABEL: @caller(
56 ; CHECK: call i32 @callee(
57
58   %result = call i32 @callee(i32 %a)
59   ret i32 %result
60 }