Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / Transforms / Inline / exponential-deferred-inlining.ll
blob42697c4567c29d2a7e835ed1171680223e0c5529
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2 ; RUN: opt -S -passes=inline < %s | FileCheck %s
4 declare void @foo()
6 define internal void @f1() {
7   call void @foo()
8   call void @foo()
9   call void @foo()
10   call void @foo()
11   call void @foo()
12   call void @foo()
13   call void @foo()
14   call void @foo()
15   call void @foo()
16   call void @foo()
17   call void @foo()
18   call void @foo()
19   ret void
22 define internal void @f2() {
23 ; CHECK-LABEL: @f2(
24 ; CHECK-NEXT:    call void @foo()
25 ; CHECK-NEXT:    call void @foo()
26 ; CHECK-NEXT:    call void @foo()
27 ; CHECK-NEXT:    call void @foo()
28 ; CHECK-NEXT:    call void @foo()
29 ; CHECK-NEXT:    call void @foo()
30 ; CHECK-NEXT:    call void @foo()
31 ; CHECK-NEXT:    call void @foo()
32 ; CHECK-NEXT:    call void @foo()
33 ; CHECK-NEXT:    call void @foo()
34 ; CHECK-NEXT:    call void @foo()
35 ; CHECK-NEXT:    call void @foo()
36 ; CHECK-NEXT:    call void @foo()
37 ; CHECK-NEXT:    call void @foo()
38 ; CHECK-NEXT:    call void @foo()
39 ; CHECK-NEXT:    call void @foo()
40 ; CHECK-NEXT:    call void @foo()
41 ; CHECK-NEXT:    call void @foo()
42 ; CHECK-NEXT:    call void @foo()
43 ; CHECK-NEXT:    call void @foo()
44 ; CHECK-NEXT:    call void @foo()
45 ; CHECK-NEXT:    call void @foo()
46 ; CHECK-NEXT:    call void @foo()
47 ; CHECK-NEXT:    call void @foo()
48 ; CHECK-NEXT:    call void @foo()
49 ; CHECK-NEXT:    call void @foo()
50 ; CHECK-NEXT:    call void @foo()
51 ; CHECK-NEXT:    call void @foo()
52 ; CHECK-NEXT:    call void @foo()
53 ; CHECK-NEXT:    call void @foo()
54 ; CHECK-NEXT:    call void @foo()
55 ; CHECK-NEXT:    call void @foo()
56 ; CHECK-NEXT:    call void @foo()
57 ; CHECK-NEXT:    call void @foo()
58 ; CHECK-NEXT:    call void @foo()
59 ; CHECK-NEXT:    call void @foo()
60 ; CHECK-NEXT:    ret void
62   call void @f1()
63   call void @f1()
64   call void @f1()
65   ret void
68 define internal void @f3() {
69   call void @f2()
70   call void @f2()
71   ret void
74 define internal void @f4() {
75   call void @f3()
76   call void @f3()
77   ret void
80 define internal void @f5() {
81   call void @f4()
82   call void @f4()
83   ret void
86 define internal void @f6() {
87 ; CHECK-LABEL: @f6(
88 ; CHECK-NEXT:    call void @f2()
89 ; CHECK-NEXT:    call void @f2()
90 ; CHECK-NEXT:    call void @f2()
91 ; CHECK-NEXT:    call void @f2()
92 ; CHECK-NEXT:    call void @f2()
93 ; CHECK-NEXT:    call void @f2()
94 ; CHECK-NEXT:    call void @f2()
95 ; CHECK-NEXT:    call void @f2()
96 ; CHECK-NEXT:    call void @f2()
97 ; CHECK-NEXT:    call void @f2()
98 ; CHECK-NEXT:    call void @f2()
99 ; CHECK-NEXT:    call void @f2()
100 ; CHECK-NEXT:    call void @f2()
101 ; CHECK-NEXT:    call void @f2()
102 ; CHECK-NEXT:    call void @f2()
103 ; CHECK-NEXT:    call void @f2()
104 ; CHECK-NEXT:    ret void
106   call void @f5()
107   call void @f5()
108   ret void
111 define void @f7() {
112 ; CHECK-LABEL: @f7(
113 ; CHECK-NEXT:    call void @f6()
114 ; CHECK-NEXT:    call void @f6()
115 ; CHECK-NEXT:    ret void
117   call void @f6()
118   call void @f6()
119   ret void