[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / Other / opt-Os-pipeline.ll
blobb65e550ce9ebe6dde9a585e1d4df0ac03219b013
1 ; RUN: opt -enable-new-pm=0 -mtriple=x86_64-- -Os -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck --check-prefixes=CHECK,%llvmcheckext %s
3 ; REQUIRES: asserts
5 ; CHECK-LABEL: Pass Arguments:
6 ; CHECK-NEXT: Target Transform Information
7 ; CHECK-NEXT: Type-Based Alias Analysis
8 ; CHECK-NEXT: Scoped NoAlias Alias Analysis
9 ; CHECK-NEXT: Assumption Cache Tracker
10 ; CHECK-NEXT: Target Library Information
11 ; CHECK-NEXT:   FunctionPass Manager
12 ; CHECK-NEXT:     Module Verifier
13 ; CHECK-EXT:      Good Bye World Pass
14 ; CHECK-NOEXT-NOT:      Good Bye World Pass
15 ; CHECK-NEXT:     Lower 'expect' Intrinsics
16 ; CHECK-NEXT:     Simplify the CFG
17 ; CHECK-NEXT:     Dominator Tree Construction
18 ; CHECK-NEXT:     SROA
19 ; CHECK-NEXT:     Early CSE
20 ; CHECK-NEXT: Pass Arguments:
21 ; CHECK-NEXT: Target Library Information
22 ; CHECK-NEXT: Target Transform Information
23 ;             Target Pass Configuration
24 ; CHECK:      Type-Based Alias Analysis
25 ; CHECK-NEXT: Scoped NoAlias Alias Analysis
26 ; CHECK-NEXT: Assumption Cache Tracker
27 ; CHECK-NEXT: Profile summary info
28 ; CHECK-NEXT:   ModulePass Manager
29 ; CHECK-NEXT:     Annotation2Metadata
30 ; CHECK-NEXT:     Force set function attributes
31 ; CHECK-NEXT:     Infer set function attributes
32 ; CHECK-NEXT:     Interprocedural Sparse Conditional Constant Propagation
33 ; CHECK-NEXT:       FunctionPass Manager
34 ; CHECK-NEXT:         Dominator Tree Construction
35 ; CHECK-NEXT:     Called Value Propagation
36 ; CHECK-NEXT:     Global Variable Optimizer
37 ; CHECK-NEXT:       FunctionPass Manager
38 ; CHECK-NEXT:         Dominator Tree Construction
39 ; CHECK-NEXT:         Natural Loop Information
40 ; CHECK-NEXT:         Post-Dominator Tree Construction
41 ; CHECK-NEXT:         Branch Probability Analysis
42 ; CHECK-NEXT:         Block Frequency Analysis
43 ; CHECK-NEXT:     FunctionPass Manager
44 ; CHECK-NEXT:       Dominator Tree Construction
45 ; CHECK-NEXT:       Promote Memory to Register
46 ; CHECK-NEXT:     Dead Argument Elimination
47 ; CHECK-NEXT:     FunctionPass Manager
48 ; CHECK-NEXT:       Dominator Tree Construction
49 ; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)
50 ; CHECK-NEXT:       Function Alias Analysis Results
51 ; CHECK-NEXT:       Natural Loop Information
52 ; CHECK-NEXT:       Lazy Branch Probability Analysis
53 ; CHECK-NEXT:       Lazy Block Frequency Analysis
54 ; CHECK-NEXT:       Optimization Remark Emitter
55 ; CHECK-NEXT:       Combine redundant instructions
56 ; CHECK-NEXT:       Simplify the CFG
57 ; CHECK-NEXT:     CallGraph Construction
58 ; CHECK-NEXT:     Globals Alias Analysis
59 ; CHECK-NEXT:     Call Graph SCC Pass Manager
60 ; CHECK-NEXT:       Remove unused exception handling info
61 ; CHECK-NEXT:       Function Integration/Inlining
62 ; CHECK-NEXT:       OpenMP specific optimizations
63 ; CHECK-NEXT:       Deduce function attributes
64 ; CHECK-NEXT:       FunctionPass Manager
65 ; CHECK-NEXT:         Dominator Tree Construction
66 ; CHECK-NEXT:         SROA
67 ; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)
68 ; CHECK-NEXT:         Function Alias Analysis Results
69 ; CHECK-NEXT:         Memory SSA
70 ; CHECK-NEXT:         Early CSE w/ MemorySSA
71 ; CHECK-NEXT:         Speculatively execute instructions if target has divergent branches
72 ; CHECK-NEXT:         Function Alias Analysis Results
73 ; CHECK-NEXT:         Lazy Value Information Analysis
74 ; CHECK-NEXT:         Jump Threading
75 ; CHECK-NEXT:         Value Propagation
76 ; CHECK-NEXT:         Simplify the CFG
77 ; CHECK-NEXT:         Dominator Tree Construction
78 ; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)
79 ; CHECK-NEXT:         Function Alias Analysis Results
80 ; CHECK-NEXT:         Natural Loop Information
81 ; CHECK-NEXT:         Lazy Branch Probability Analysis
82 ; CHECK-NEXT:         Lazy Block Frequency Analysis
83 ; CHECK-NEXT:         Optimization Remark Emitter
84 ; CHECK-NEXT:         Combine redundant instructions
85 ; CHECK-NEXT:         Optimization Remark Emitter
86 ; CHECK-NEXT:         Tail Call Elimination
87 ; CHECK-NEXT:         Simplify the CFG
88 ; CHECK-NEXT:         Reassociate expressions
89 ; CHECK-NEXT:         Dominator Tree Construction
90 ; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)
91 ; CHECK-NEXT:         Function Alias Analysis Results
92 ; CHECK-NEXT:         Memory SSA
93 ; CHECK-NEXT:         Natural Loop Information
94 ; CHECK-NEXT:         Canonicalize natural loops
95 ; CHECK-NEXT:         LCSSA Verifier
96 ; CHECK-NEXT:         Loop-Closed SSA Form Pass
97 ; CHECK-NEXT:         Scalar Evolution Analysis
98 ; CHECK-NEXT:         Lazy Branch Probability Analysis
99 ; CHECK-NEXT:         Lazy Block Frequency Analysis
100 ; CHECK-NEXT:         Loop Pass Manager
101 ; CHECK-NEXT:           Loop Invariant Code Motion
102 ; CHECK-NEXT:           Rotate Loops
103 ; CHECK-NEXT:           Loop Invariant Code Motion
104 ; CHECK-NEXT:           Unswitch loops
105 ; CHECK-NEXT:         Simplify the CFG
106 ; CHECK-NEXT:         Dominator Tree Construction
107 ; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)
108 ; CHECK-NEXT:         Function Alias Analysis Results
109 ; CHECK-NEXT:         Natural Loop Information
110 ; CHECK-NEXT:         Lazy Branch Probability Analysis
111 ; CHECK-NEXT:         Lazy Block Frequency Analysis
112 ; CHECK-NEXT:         Optimization Remark Emitter
113 ; CHECK-NEXT:         Combine redundant instructions
114 ; CHECK-NEXT:         Canonicalize natural loops
115 ; CHECK-NEXT:         LCSSA Verifier
116 ; CHECK-NEXT:         Loop-Closed SSA Form Pass
117 ; CHECK-NEXT:         Scalar Evolution Analysis
118 ; CHECK-NEXT:         Loop Pass Manager
119 ; CHECK-NEXT:           Recognize loop idioms
120 ; CHECK-NEXT:           Induction Variable Simplification
121 ; CHECK-NEXT:           Delete dead loops
122 ; CHECK-NEXT:           Unroll loops
123 ; CHECK-NEXT:         SROA
124 ; CHECK-NEXT:         Function Alias Analysis Results
125 ; CHECK-NEXT:         MergedLoadStoreMotion
126 ; CHECK-NEXT:         Phi Values Analysis
127 ; CHECK-NEXT:         Function Alias Analysis Results
128 ; CHECK-NEXT:         Memory Dependence Analysis
129 ; CHECK-NEXT:         Lazy Branch Probability Analysis
130 ; CHECK-NEXT:         Lazy Block Frequency Analysis
131 ; CHECK-NEXT:         Optimization Remark Emitter
132 ; CHECK-NEXT:         Global Value Numbering
133 ; CHECK-NEXT:         Sparse Conditional Constant Propagation
134 ; CHECK-NEXT:         Demanded bits analysis
135 ; CHECK-NEXT:         Bit-Tracking Dead Code Elimination
136 ; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)
137 ; CHECK-NEXT:         Function Alias Analysis Results
138 ; CHECK-NEXT:         Lazy Branch Probability Analysis
139 ; CHECK-NEXT:         Lazy Block Frequency Analysis
140 ; CHECK-NEXT:         Optimization Remark Emitter
141 ; CHECK-NEXT:         Combine redundant instructions
142 ; CHECK-NEXT:         Lazy Value Information Analysis
143 ; CHECK-NEXT:         Jump Threading
144 ; CHECK-NEXT:         Value Propagation
145 ; CHECK-NEXT:         Post-Dominator Tree Construction
146 ; CHECK-NEXT:         Aggressive Dead Code Elimination
147 ; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)
148 ; CHECK-NEXT:         Function Alias Analysis Results
149 ; CHECK-NEXT:         Memory SSA
150 ; CHECK-NEXT:         MemCpy Optimization
151 ; CHECK-NEXT:         Natural Loop Information
152 ; CHECK-NEXT:         Dead Store Elimination
153 ; CHECK-NEXT:         Canonicalize natural loops
154 ; CHECK-NEXT:         LCSSA Verifier
155 ; CHECK-NEXT:         Loop-Closed SSA Form Pass
156 ; CHECK-NEXT:         Function Alias Analysis Results
157 ; CHECK-NEXT:         Scalar Evolution Analysis
158 ; CHECK-NEXT:         Lazy Branch Probability Analysis
159 ; CHECK-NEXT:         Lazy Block Frequency Analysis
160 ; CHECK-NEXT:         Loop Pass Manager
161 ; CHECK-NEXT:           Loop Invariant Code Motion
162 ; CHECK-NEXT:         Simplify the CFG
163 ; CHECK-NEXT:         Dominator Tree Construction
164 ; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)
165 ; CHECK-NEXT:         Function Alias Analysis Results
166 ; CHECK-NEXT:         Natural Loop Information
167 ; CHECK-NEXT:         Lazy Branch Probability Analysis
168 ; CHECK-NEXT:         Lazy Block Frequency Analysis
169 ; CHECK-NEXT:         Optimization Remark Emitter
170 ; CHECK-NEXT:         Combine redundant instructions
171 ; CHECK-NEXT:     A No-Op Barrier Pass
172 ; CHECK-NEXT:     Eliminate Available Externally Globals
173 ; CHECK-NEXT:     CallGraph Construction
174 ; CHECK-NEXT:     Deduce function attributes in RPO
175 ; CHECK-NEXT:     Global Variable Optimizer
176 ; CHECK-NEXT:       FunctionPass Manager
177 ; CHECK-NEXT:         Dominator Tree Construction
178 ; CHECK-NEXT:         Natural Loop Information
179 ; CHECK-NEXT:         Post-Dominator Tree Construction
180 ; CHECK-NEXT:         Branch Probability Analysis
181 ; CHECK-NEXT:         Block Frequency Analysis
182 ; CHECK-NEXT:     Dead Global Elimination
183 ; CHECK-NEXT:     CallGraph Construction
184 ; CHECK-NEXT:     Globals Alias Analysis
185 ; CHECK-NEXT:     FunctionPass Manager
186 ; CHECK-NEXT:       Dominator Tree Construction
187 ; CHECK-NEXT:       Float to int
188 ; CHECK-NEXT:       Lower constant intrinsics
189 ; CHECK-NEXT:       Natural Loop Information
190 ; CHECK-NEXT:       Canonicalize natural loops
191 ; CHECK-NEXT:       LCSSA Verifier
192 ; CHECK-NEXT:       Loop-Closed SSA Form Pass
193 ; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)
194 ; CHECK-NEXT:       Function Alias Analysis Results
195 ; CHECK-NEXT:       Scalar Evolution Analysis
196 ; CHECK-NEXT:       Loop Pass Manager
197 ; CHECK-NEXT:         Rotate Loops
198 ; CHECK-NEXT:       Loop Access Analysis
199 ; CHECK-NEXT:       Lazy Branch Probability Analysis
200 ; CHECK-NEXT:       Lazy Block Frequency Analysis
201 ; CHECK-NEXT:       Optimization Remark Emitter
202 ; CHECK-NEXT:       Loop Distribution
203 ; CHECK-NEXT:       Post-Dominator Tree Construction
204 ; CHECK-NEXT:       Branch Probability Analysis
205 ; CHECK-NEXT:       Block Frequency Analysis
206 ; CHECK-NEXT:       Scalar Evolution Analysis
207 ; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)
208 ; CHECK-NEXT:       Function Alias Analysis Results
209 ; CHECK-NEXT:       Loop Access Analysis
210 ; CHECK-NEXT:       Demanded bits analysis
211 ; CHECK-NEXT:       Lazy Branch Probability Analysis
212 ; CHECK-NEXT:       Lazy Block Frequency Analysis
213 ; CHECK-NEXT:       Optimization Remark Emitter
214 ; CHECK-NEXT:       Inject TLI Mappings
215 ; CHECK-NEXT:       Loop Vectorization
216 ; CHECK-NEXT:       Canonicalize natural loops
217 ; CHECK-NEXT:       Scalar Evolution Analysis
218 ; CHECK-NEXT:       Function Alias Analysis Results
219 ; CHECK-NEXT:       Loop Access Analysis
220 ; CHECK-NEXT:       Lazy Branch Probability Analysis
221 ; CHECK-NEXT:       Lazy Block Frequency Analysis
222 ; CHECK-NEXT:       Loop Load Elimination
223 ; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)
224 ; CHECK-NEXT:       Function Alias Analysis Results
225 ; CHECK-NEXT:       Lazy Branch Probability Analysis
226 ; CHECK-NEXT:       Lazy Block Frequency Analysis
227 ; CHECK-NEXT:       Optimization Remark Emitter
228 ; CHECK-NEXT:       Combine redundant instructions
229 ; CHECK-NEXT:       Simplify the CFG
230 ; CHECK-NEXT:       Dominator Tree Construction
231 ; CHECK-NEXT:       Natural Loop Information
232 ; CHECK-NEXT:       Scalar Evolution Analysis
233 ; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)
234 ; CHECK-NEXT:       Function Alias Analysis Results
235 ; CHECK-NEXT:       Demanded bits analysis
236 ; CHECK-NEXT:       Lazy Branch Probability Analysis
237 ; CHECK-NEXT:       Lazy Block Frequency Analysis
238 ; CHECK-NEXT:       Optimization Remark Emitter
239 ; CHECK-NEXT:       Inject TLI Mappings
240 ; CHECK-NEXT:       SLP Vectorizer
241 ; CHECK-NEXT:       Optimize scalar/vector ops
242 ; CHECK-NEXT:       Optimization Remark Emitter
243 ; CHECK-NEXT:       Combine redundant instructions
244 ; CHECK-NEXT:       Canonicalize natural loops
245 ; CHECK-NEXT:       LCSSA Verifier
246 ; CHECK-NEXT:       Loop-Closed SSA Form Pass
247 ; CHECK-NEXT:       Scalar Evolution Analysis
248 ; CHECK-NEXT:       Loop Pass Manager
249 ; CHECK-NEXT:         Unroll loops
250 ; CHECK-NEXT:       Lazy Branch Probability Analysis
251 ; CHECK-NEXT:       Lazy Block Frequency Analysis
252 ; CHECK-NEXT:       Optimization Remark Emitter
253 ; CHECK-NEXT:       Combine redundant instructions
254 ; CHECK-NEXT:       Memory SSA
255 ; CHECK-NEXT:       Canonicalize natural loops
256 ; CHECK-NEXT:       LCSSA Verifier
257 ; CHECK-NEXT:       Loop-Closed SSA Form Pass
258 ; CHECK-NEXT:       Scalar Evolution Analysis
259 ; CHECK-NEXT:       Lazy Branch Probability Analysis
260 ; CHECK-NEXT:       Lazy Block Frequency Analysis
261 ; CHECK-NEXT:       Loop Pass Manager
262 ; CHECK-NEXT:         Loop Invariant Code Motion
263 ; CHECK-NEXT:       Optimization Remark Emitter
264 ; CHECK-NEXT:       Warn about non-applied transformations
265 ; CHECK-NEXT:       Alignment from assumptions
266 ; CHECK-NEXT:     Strip Unused Function Prototypes
267 ; CHECK-NEXT:     Dead Global Elimination
268 ; CHECK-NEXT:     Merge Duplicate Global Constants
269 ; CHECK-NEXT:     Call Graph Profile
270 ; CHECK-NEXT:       FunctionPass Manager
271 ; CHECK-NEXT:         Dominator Tree Construction
272 ; CHECK-NEXT:         Natural Loop Information
273 ; CHECK-NEXT:         Lazy Branch Probability Analysis
274 ; CHECK-NEXT:         Lazy Block Frequency Analysis
275 ; CHECK-NEXT:     FunctionPass Manager
276 ; CHECK-NEXT:       Dominator Tree Construction
277 ; CHECK-NEXT:       Natural Loop Information
278 ; CHECK-NEXT:       Post-Dominator Tree Construction
279 ; CHECK-NEXT:       Branch Probability Analysis
280 ; CHECK-NEXT:       Block Frequency Analysis
281 ; CHECK-NEXT:       Canonicalize natural loops
282 ; CHECK-NEXT:       LCSSA Verifier
283 ; CHECK-NEXT:       Loop-Closed SSA Form Pass
284 ; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)
285 ; CHECK-NEXT:       Function Alias Analysis Results
286 ; CHECK-NEXT:       Scalar Evolution Analysis
287 ; CHECK-NEXT:       Block Frequency Analysis
288 ; CHECK-NEXT:       Loop Pass Manager
289 ; CHECK-NEXT:         Loop Sink
290 ; CHECK-NEXT:       Lazy Branch Probability Analysis
291 ; CHECK-NEXT:       Lazy Block Frequency Analysis
292 ; CHECK-NEXT:       Optimization Remark Emitter
293 ; CHECK-NEXT:       Remove redundant instructions
294 ; CHECK-NEXT:       Hoist/decompose integer division and remainder
295 ; CHECK-NEXT:       Simplify the CFG
296 ; CHECK-NEXT:       Annotation Remarks
297 ; CHECK-NEXT:       Module Verifier
298 ; CHECK-NEXT:     Bitcode Writer
299 ; CHECK-NEXT: Pass Arguments:
300 ; CHECK-NEXT:  FunctionPass Manager
301 ; CHECK-NEXT:     Dominator Tree Construction
302 ; CHECK-NEXT: Pass Arguments:
303 ; CHECK-NEXT: Target Library Information
304 ; CHECK-NEXT:   FunctionPass Manager
305 ; CHECK-NEXT:     Dominator Tree Construction
306 ; CHECK-NEXT:     Natural Loop Information
307 ; CHECK-NEXT:     Post-Dominator Tree Construction
308 ; CHECK-NEXT:     Branch Probability Analysis
309 ; CHECK-NEXT:     Block Frequency Analysis
310 ; CHECK-NEXT: Pass Arguments:
311 ; CHECK-NEXT: Target Library Information
312 ; CHECK-NEXT:   FunctionPass Manager
313 ; CHECK-NEXT:     Dominator Tree Construction
314 ; CHECK-NEXT:     Natural Loop Information
315 ; CHECK-NEXT:     Post-Dominator Tree Construction
316 ; CHECK-NEXT:     Branch Probability Analysis
317 ; CHECK-NEXT:     Block Frequency Analysis
319 define void @f() {
320   ret void