1 ; RUN: opt -enable-new-pm=0 -mtriple=x86_64-- -O2 -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck --check-prefixes=CHECK,%llvmcheckext %s
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
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
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: Conditionally eliminate dead library calls
86 ; CHECK-NEXT: Natural Loop Information
87 ; CHECK-NEXT: Post-Dominator Tree Construction
88 ; CHECK-NEXT: Branch Probability Analysis
89 ; CHECK-NEXT: Block Frequency Analysis
90 ; CHECK-NEXT: Lazy Branch Probability Analysis
91 ; CHECK-NEXT: Lazy Block Frequency Analysis
92 ; CHECK-NEXT: Optimization Remark Emitter
93 ; CHECK-NEXT: PGOMemOPSize
94 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
95 ; CHECK-NEXT: Function Alias Analysis Results
96 ; CHECK-NEXT: Natural Loop Information
97 ; CHECK-NEXT: Lazy Branch Probability Analysis
98 ; CHECK-NEXT: Lazy Block Frequency Analysis
99 ; CHECK-NEXT: Optimization Remark Emitter
100 ; CHECK-NEXT: Tail Call Elimination
101 ; CHECK-NEXT: Simplify the CFG
102 ; CHECK-NEXT: Reassociate expressions
103 ; CHECK-NEXT: Dominator Tree Construction
104 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
105 ; CHECK-NEXT: Function Alias Analysis Results
106 ; CHECK-NEXT: Memory SSA
107 ; CHECK-NEXT: Natural Loop Information
108 ; CHECK-NEXT: Canonicalize natural loops
109 ; CHECK-NEXT: LCSSA Verifier
110 ; CHECK-NEXT: Loop-Closed SSA Form Pass
111 ; CHECK-NEXT: Scalar Evolution Analysis
112 ; CHECK-NEXT: Lazy Branch Probability Analysis
113 ; CHECK-NEXT: Lazy Block Frequency Analysis
114 ; CHECK-NEXT: Loop Pass Manager
115 ; CHECK-NEXT: Loop Invariant Code Motion
116 ; CHECK-NEXT: Rotate Loops
117 ; CHECK-NEXT: Loop Invariant Code Motion
118 ; CHECK-NEXT: Unswitch loops
119 ; CHECK-NEXT: Simplify the CFG
120 ; CHECK-NEXT: Dominator Tree Construction
121 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
122 ; CHECK-NEXT: Function Alias Analysis Results
123 ; CHECK-NEXT: Natural Loop Information
124 ; CHECK-NEXT: Lazy Branch Probability Analysis
125 ; CHECK-NEXT: Lazy Block Frequency Analysis
126 ; CHECK-NEXT: Optimization Remark Emitter
127 ; CHECK-NEXT: Combine redundant instructions
128 ; CHECK-NEXT: Canonicalize natural loops
129 ; CHECK-NEXT: LCSSA Verifier
130 ; CHECK-NEXT: Loop-Closed SSA Form Pass
131 ; CHECK-NEXT: Scalar Evolution Analysis
132 ; CHECK-NEXT: Loop Pass Manager
133 ; CHECK-NEXT: Recognize loop idioms
134 ; CHECK-NEXT: Induction Variable Simplification
135 ; CHECK-NEXT: Delete dead loops
136 ; CHECK-NEXT: Unroll loops
138 ; CHECK-NEXT: Function Alias Analysis Results
139 ; CHECK-NEXT: MergedLoadStoreMotion
140 ; CHECK-NEXT: Phi Values Analysis
141 ; CHECK-NEXT: Function Alias Analysis Results
142 ; CHECK-NEXT: Memory Dependence Analysis
143 ; CHECK-NEXT: Lazy Branch Probability Analysis
144 ; CHECK-NEXT: Lazy Block Frequency Analysis
145 ; CHECK-NEXT: Optimization Remark Emitter
146 ; CHECK-NEXT: Global Value Numbering
147 ; CHECK-NEXT: Sparse Conditional Constant Propagation
148 ; CHECK-NEXT: Demanded bits analysis
149 ; CHECK-NEXT: Bit-Tracking Dead Code Elimination
150 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
151 ; CHECK-NEXT: Function Alias Analysis Results
152 ; CHECK-NEXT: Lazy Branch Probability Analysis
153 ; CHECK-NEXT: Lazy Block Frequency Analysis
154 ; CHECK-NEXT: Optimization Remark Emitter
155 ; CHECK-NEXT: Combine redundant instructions
156 ; CHECK-NEXT: Lazy Value Information Analysis
157 ; CHECK-NEXT: Jump Threading
158 ; CHECK-NEXT: Value Propagation
159 ; CHECK-NEXT: Post-Dominator Tree Construction
160 ; CHECK-NEXT: Aggressive Dead Code Elimination
161 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
162 ; CHECK-NEXT: Function Alias Analysis Results
163 ; CHECK-NEXT: Memory SSA
164 ; CHECK-NEXT: MemCpy Optimization
165 ; CHECK-NEXT: Natural Loop Information
166 ; CHECK-NEXT: Dead Store Elimination
167 ; CHECK-NEXT: Canonicalize natural loops
168 ; CHECK-NEXT: LCSSA Verifier
169 ; CHECK-NEXT: Loop-Closed SSA Form Pass
170 ; CHECK-NEXT: Function Alias Analysis Results
171 ; CHECK-NEXT: Scalar Evolution Analysis
172 ; CHECK-NEXT: Lazy Branch Probability Analysis
173 ; CHECK-NEXT: Lazy Block Frequency Analysis
174 ; CHECK-NEXT: Loop Pass Manager
175 ; CHECK-NEXT: Loop Invariant Code Motion
176 ; CHECK-NEXT: Simplify the CFG
177 ; CHECK-NEXT: Dominator Tree Construction
178 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
179 ; CHECK-NEXT: Function Alias Analysis Results
180 ; CHECK-NEXT: Natural Loop Information
181 ; CHECK-NEXT: Lazy Branch Probability Analysis
182 ; CHECK-NEXT: Lazy Block Frequency Analysis
183 ; CHECK-NEXT: Optimization Remark Emitter
184 ; CHECK-NEXT: Combine redundant instructions
185 ; CHECK-NEXT: A No-Op Barrier Pass
186 ; CHECK-NEXT: Eliminate Available Externally Globals
187 ; CHECK-NEXT: CallGraph Construction
188 ; CHECK-NEXT: Deduce function attributes in RPO
189 ; CHECK-NEXT: Global Variable Optimizer
190 ; CHECK-NEXT: FunctionPass Manager
191 ; CHECK-NEXT: Dominator Tree Construction
192 ; CHECK-NEXT: Natural Loop Information
193 ; CHECK-NEXT: Post-Dominator Tree Construction
194 ; CHECK-NEXT: Branch Probability Analysis
195 ; CHECK-NEXT: Block Frequency Analysis
196 ; CHECK-NEXT: Dead Global Elimination
197 ; CHECK-NEXT: CallGraph Construction
198 ; CHECK-NEXT: Globals Alias Analysis
199 ; CHECK-NEXT: FunctionPass Manager
200 ; CHECK-NEXT: Dominator Tree Construction
201 ; CHECK-NEXT: Float to int
202 ; CHECK-NEXT: Lower constant intrinsics
203 ; CHECK-NEXT: Natural Loop Information
204 ; CHECK-NEXT: Canonicalize natural loops
205 ; CHECK-NEXT: LCSSA Verifier
206 ; CHECK-NEXT: Loop-Closed SSA Form Pass
207 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
208 ; CHECK-NEXT: Function Alias Analysis Results
209 ; CHECK-NEXT: Scalar Evolution Analysis
210 ; CHECK-NEXT: Loop Pass Manager
211 ; CHECK-NEXT: Rotate Loops
212 ; CHECK-NEXT: Loop Access Analysis
213 ; CHECK-NEXT: Lazy Branch Probability Analysis
214 ; CHECK-NEXT: Lazy Block Frequency Analysis
215 ; CHECK-NEXT: Optimization Remark Emitter
216 ; CHECK-NEXT: Loop Distribution
217 ; CHECK-NEXT: Post-Dominator Tree Construction
218 ; CHECK-NEXT: Branch Probability Analysis
219 ; CHECK-NEXT: Block Frequency Analysis
220 ; CHECK-NEXT: Scalar Evolution Analysis
221 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
222 ; CHECK-NEXT: Function Alias Analysis Results
223 ; CHECK-NEXT: Loop Access Analysis
224 ; CHECK-NEXT: Demanded bits analysis
225 ; CHECK-NEXT: Lazy Branch Probability Analysis
226 ; CHECK-NEXT: Lazy Block Frequency Analysis
227 ; CHECK-NEXT: Optimization Remark Emitter
228 ; CHECK-NEXT: Inject TLI Mappings
229 ; CHECK-NEXT: Loop Vectorization
230 ; CHECK-NEXT: Canonicalize natural loops
231 ; CHECK-NEXT: Scalar Evolution Analysis
232 ; CHECK-NEXT: Function Alias Analysis Results
233 ; CHECK-NEXT: Loop Access Analysis
234 ; CHECK-NEXT: Lazy Branch Probability Analysis
235 ; CHECK-NEXT: Lazy Block Frequency Analysis
236 ; CHECK-NEXT: Loop Load Elimination
237 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
238 ; CHECK-NEXT: Function Alias Analysis Results
239 ; CHECK-NEXT: Lazy Branch Probability Analysis
240 ; CHECK-NEXT: Lazy Block Frequency Analysis
241 ; CHECK-NEXT: Optimization Remark Emitter
242 ; CHECK-NEXT: Combine redundant instructions
243 ; CHECK-NEXT: Simplify the CFG
244 ; CHECK-NEXT: Dominator Tree Construction
245 ; CHECK-NEXT: Natural Loop Information
246 ; CHECK-NEXT: Scalar Evolution Analysis
247 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
248 ; CHECK-NEXT: Function Alias Analysis Results
249 ; CHECK-NEXT: Demanded bits analysis
250 ; CHECK-NEXT: Lazy Branch Probability Analysis
251 ; CHECK-NEXT: Lazy Block Frequency Analysis
252 ; CHECK-NEXT: Optimization Remark Emitter
253 ; CHECK-NEXT: Inject TLI Mappings
254 ; CHECK-NEXT: SLP Vectorizer
255 ; CHECK-NEXT: Optimize scalar/vector ops
256 ; CHECK-NEXT: Optimization Remark Emitter
257 ; CHECK-NEXT: Combine redundant instructions
258 ; CHECK-NEXT: Canonicalize natural loops
259 ; CHECK-NEXT: LCSSA Verifier
260 ; CHECK-NEXT: Loop-Closed SSA Form Pass
261 ; CHECK-NEXT: Scalar Evolution Analysis
262 ; CHECK-NEXT: Loop Pass Manager
263 ; CHECK-NEXT: Unroll loops
264 ; CHECK-NEXT: Lazy Branch Probability Analysis
265 ; CHECK-NEXT: Lazy Block Frequency Analysis
266 ; CHECK-NEXT: Optimization Remark Emitter
267 ; CHECK-NEXT: Combine redundant instructions
268 ; CHECK-NEXT: Memory SSA
269 ; CHECK-NEXT: Canonicalize natural loops
270 ; CHECK-NEXT: LCSSA Verifier
271 ; CHECK-NEXT: Loop-Closed SSA Form Pass
272 ; CHECK-NEXT: Scalar Evolution Analysis
273 ; CHECK-NEXT: Lazy Branch Probability Analysis
274 ; CHECK-NEXT: Lazy Block Frequency Analysis
275 ; CHECK-NEXT: Loop Pass Manager
276 ; CHECK-NEXT: Loop Invariant Code Motion
277 ; CHECK-NEXT: Optimization Remark Emitter
278 ; CHECK-NEXT: Warn about non-applied transformations
279 ; CHECK-NEXT: Alignment from assumptions
280 ; CHECK-NEXT: Strip Unused Function Prototypes
281 ; CHECK-NEXT: Dead Global Elimination
282 ; CHECK-NEXT: Merge Duplicate Global Constants
283 ; CHECK-NEXT: Call Graph Profile
284 ; CHECK-NEXT: FunctionPass Manager
285 ; CHECK-NEXT: Dominator Tree Construction
286 ; CHECK-NEXT: Natural Loop Information
287 ; CHECK-NEXT: Lazy Branch Probability Analysis
288 ; CHECK-NEXT: Lazy Block Frequency Analysis
289 ; CHECK-NEXT: FunctionPass Manager
290 ; CHECK-NEXT: Dominator Tree Construction
291 ; CHECK-NEXT: Natural Loop Information
292 ; CHECK-NEXT: Post-Dominator Tree Construction
293 ; CHECK-NEXT: Branch Probability Analysis
294 ; CHECK-NEXT: Block Frequency Analysis
295 ; CHECK-NEXT: Canonicalize natural loops
296 ; CHECK-NEXT: LCSSA Verifier
297 ; CHECK-NEXT: Loop-Closed SSA Form Pass
298 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
299 ; CHECK-NEXT: Function Alias Analysis Results
300 ; CHECK-NEXT: Scalar Evolution Analysis
301 ; CHECK-NEXT: Block Frequency Analysis
302 ; CHECK-NEXT: Loop Pass Manager
303 ; CHECK-NEXT: Loop Sink
304 ; CHECK-NEXT: Lazy Branch Probability Analysis
305 ; CHECK-NEXT: Lazy Block Frequency Analysis
306 ; CHECK-NEXT: Optimization Remark Emitter
307 ; CHECK-NEXT: Remove redundant instructions
308 ; CHECK-NEXT: Hoist/decompose integer division and remainder
309 ; CHECK-NEXT: Simplify the CFG
310 ; CHECK-NEXT: Annotation Remarks
311 ; CHECK-NEXT: Module Verifier
312 ; CHECK-NEXT: Bitcode Writer
313 ; CHECK-NEXT: Pass Arguments:
314 ; CHECK-NEXT: FunctionPass Manager
315 ; CHECK-NEXT: Dominator Tree Construction
316 ; CHECK-NEXT: Pass Arguments:
317 ; CHECK-NEXT: Target Library Information
318 ; CHECK-NEXT: FunctionPass Manager
319 ; CHECK-NEXT: Dominator Tree Construction
320 ; CHECK-NEXT: Natural Loop Information
321 ; CHECK-NEXT: Post-Dominator Tree Construction
322 ; CHECK-NEXT: Branch Probability Analysis
323 ; CHECK-NEXT: Block Frequency Analysis
324 ; CHECK-NEXT: Pass Arguments:
325 ; CHECK-NEXT: Target Library Information
326 ; CHECK-NEXT: FunctionPass Manager
327 ; CHECK-NEXT: Dominator Tree Construction
328 ; CHECK-NEXT: Natural Loop Information
329 ; CHECK-NEXT: Post-Dominator Tree Construction
330 ; CHECK-NEXT: Branch Probability Analysis
331 ; CHECK-NEXT: Block Frequency Analysis