1 ; RUN: opt -enable-new-pm=0 -mtriple=x86_64-- -std-link-opts -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck --check-prefix=CHECK %s
5 ; CHECK-LABEL: Pass Arguments:
6 ; CHECK-NEXT: Target Library Information
7 ; CHECK-NEXT: Target Transform Information
8 ; : Target Pass Configuration
9 ; CHECK: Type-Based Alias Analysis
10 ; CHECK-NEXT: Scoped NoAlias Alias Analysis
11 ; CHECK-NEXT: Profile summary info
12 ; CHECK-NEXT: Assumption Cache Tracker
13 ; CHECK-NEXT: ModulePass Manager
14 ; CHECK-NEXT: FunctionPass Manager
15 ; CHECK-NEXT: Module Verifier
16 ; CHECK-NEXT: Dead Global Elimination
17 ; CHECK-NEXT: Force set function attributes
18 ; CHECK-NEXT: Infer set function attributes
19 ; CHECK-NEXT: FunctionPass Manager
20 ; CHECK-NEXT: Dominator Tree Construction
21 ; CHECK-NEXT: Call-site splitting
22 ; CHECK-NEXT: PGOIndirectCallPromotion
23 ; CHECK-NEXT: Interprocedural Sparse Conditional Constant Propagation
24 ; CHECK-NEXT: FunctionPass Manager
25 ; CHECK-NEXT: Dominator Tree Construction
26 ; CHECK-NEXT: Called Value Propagation
27 ; CHECK-NEXT: CallGraph Construction
28 ; CHECK-NEXT: Call Graph SCC Pass Manager
29 ; CHECK-NEXT: Deduce function attributes
30 ; CHECK-NEXT: Deduce function attributes in RPO
31 ; CHECK-NEXT: Global splitter
32 ; CHECK-NEXT: Whole program devirtualization
33 ; CHECK-NEXT: FunctionPass Manager
34 ; CHECK-NEXT: Dominator Tree Construction
35 ; CHECK-NEXT: Global Variable Optimizer
36 ; CHECK-NEXT: FunctionPass Manager
37 ; CHECK-NEXT: Dominator Tree Construction
38 ; CHECK-NEXT: Natural Loop Information
39 ; CHECK-NEXT: Post-Dominator Tree Construction
40 ; CHECK-NEXT: Branch Probability Analysis
41 ; CHECK-NEXT: Block Frequency Analysis
42 ; CHECK-NEXT: FunctionPass Manager
43 ; CHECK-NEXT: Dominator Tree Construction
44 ; CHECK-NEXT: Promote Memory to Register
45 ; CHECK-NEXT: Merge Duplicate Global Constants
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: CallGraph Construction
57 ; CHECK-NEXT: Call Graph SCC Pass Manager
58 ; CHECK-NEXT: Function Integration/Inlining
59 ; CHECK-NEXT: Remove unused exception handling info
60 ; CHECK-NEXT: OpenMP specific optimizations
61 ; CHECK-NEXT: Global Variable Optimizer
62 ; CHECK-NEXT: FunctionPass Manager
63 ; CHECK-NEXT: Dominator Tree Construction
64 ; CHECK-NEXT: Natural Loop Information
65 ; CHECK-NEXT: Post-Dominator Tree Construction
66 ; CHECK-NEXT: Branch Probability Analysis
67 ; CHECK-NEXT: Block Frequency Analysis
68 ; CHECK-NEXT: Dead Global Elimination
69 ; CHECK-NEXT: CallGraph Construction
70 ; CHECK-NEXT: Call Graph SCC Pass Manager
71 ; CHECK-NEXT: Promote 'by reference' arguments to scalars
72 ; CHECK-NEXT: FunctionPass Manager
73 ; CHECK-NEXT: Dominator Tree Construction
74 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
75 ; CHECK-NEXT: Function Alias Analysis Results
76 ; CHECK-NEXT: Natural Loop Information
77 ; CHECK-NEXT: Lazy Branch Probability Analysis
78 ; CHECK-NEXT: Lazy Block Frequency Analysis
79 ; CHECK-NEXT: Optimization Remark Emitter
80 ; CHECK-NEXT: Combine redundant instructions
81 ; CHECK-NEXT: Lazy Value Information Analysis
82 ; CHECK-NEXT: Jump Threading
84 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
85 ; CHECK-NEXT: Function Alias Analysis Results
86 ; CHECK-NEXT: Natural Loop Information
87 ; CHECK-NEXT: Lazy Branch Probability Analysis
88 ; CHECK-NEXT: Lazy Block Frequency Analysis
89 ; CHECK-NEXT: Optimization Remark Emitter
90 ; CHECK-NEXT: Tail Call Elimination
91 ; CHECK-NEXT: CallGraph Construction
92 ; CHECK-NEXT: Call Graph SCC Pass Manager
93 ; CHECK-NEXT: Deduce function attributes
94 ; CHECK-NEXT: Globals Alias Analysis
95 ; CHECK-NEXT: FunctionPass Manager
96 ; CHECK-NEXT: Dominator Tree Construction
97 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
98 ; CHECK-NEXT: Function Alias Analysis Results
99 ; CHECK-NEXT: Memory SSA
100 ; CHECK-NEXT: Natural Loop Information
101 ; CHECK-NEXT: Canonicalize natural loops
102 ; CHECK-NEXT: LCSSA Verifier
103 ; CHECK-NEXT: Loop-Closed SSA Form Pass
104 ; CHECK-NEXT: Scalar Evolution Analysis
105 ; CHECK-NEXT: Lazy Branch Probability Analysis
106 ; CHECK-NEXT: Lazy Block Frequency Analysis
107 ; CHECK-NEXT: Loop Pass Manager
108 ; CHECK-NEXT: Loop Invariant Code Motion
109 ; CHECK-NEXT: Phi Values Analysis
110 ; CHECK-NEXT: Memory Dependence Analysis
111 ; CHECK-NEXT: Optimization Remark Emitter
112 ; CHECK-NEXT: Global Value Numbering
113 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
114 ; CHECK-NEXT: Function Alias Analysis Results
115 ; CHECK-NEXT: MemCpy Optimization
116 ; CHECK-NEXT: Post-Dominator Tree Construction
117 ; CHECK-NEXT: Dead Store Elimination
118 ; CHECK-NEXT: Function Alias Analysis Results
119 ; CHECK-NEXT: MergedLoadStoreMotion
120 ; CHECK-NEXT: Canonicalize natural loops
121 ; CHECK-NEXT: LCSSA Verifier
122 ; CHECK-NEXT: Loop-Closed SSA Form Pass
123 ; CHECK-NEXT: Function Alias Analysis Results
124 ; CHECK-NEXT: Scalar Evolution Analysis
125 ; CHECK-NEXT: Loop Pass Manager
126 ; CHECK-NEXT: Induction Variable Simplification
127 ; CHECK-NEXT: Delete dead loops
128 ; CHECK-NEXT: Unroll loops
129 ; CHECK-NEXT: Loop Access Analysis
130 ; CHECK-NEXT: Lazy Branch Probability Analysis
131 ; CHECK-NEXT: Lazy Block Frequency Analysis
132 ; CHECK-NEXT: Optimization Remark Emitter
133 ; CHECK-NEXT: Loop Distribution
134 ; CHECK-NEXT: Post-Dominator Tree Construction
135 ; CHECK-NEXT: Branch Probability Analysis
136 ; CHECK-NEXT: Block Frequency Analysis
137 ; CHECK-NEXT: Scalar Evolution Analysis
138 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
139 ; CHECK-NEXT: Function Alias Analysis Results
140 ; CHECK-NEXT: Loop Access Analysis
141 ; CHECK-NEXT: Demanded bits analysis
142 ; CHECK-NEXT: Lazy Branch Probability Analysis
143 ; CHECK-NEXT: Lazy Block Frequency Analysis
144 ; CHECK-NEXT: Optimization Remark Emitter
145 ; CHECK-NEXT: Inject TLI Mappings
146 ; CHECK-NEXT: Loop Vectorization
147 ; CHECK-NEXT: Canonicalize natural loops
148 ; CHECK-NEXT: LCSSA Verifier
149 ; CHECK-NEXT: Loop-Closed SSA Form Pass
150 ; CHECK-NEXT: Function Alias Analysis Results
151 ; CHECK-NEXT: Scalar Evolution Analysis
152 ; CHECK-NEXT: Loop Pass Manager
153 ; CHECK-NEXT: Unroll loops
154 ; CHECK-NEXT: Lazy Branch Probability Analysis
155 ; CHECK-NEXT: Lazy Block Frequency Analysis
156 ; CHECK-NEXT: Optimization Remark Emitter
157 ; CHECK-NEXT: Warn about non-applied transformations
158 ; CHECK-NEXT: Combine redundant instructions
159 ; CHECK-NEXT: Simplify the CFG
160 ; CHECK-NEXT: Sparse Conditional Constant Propagation
161 ; CHECK-NEXT: Dominator Tree Construction
162 ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
163 ; CHECK-NEXT: Function Alias Analysis Results
164 ; CHECK-NEXT: Natural Loop Information
165 ; CHECK-NEXT: Lazy Branch Probability Analysis
166 ; CHECK-NEXT: Lazy Block Frequency Analysis
167 ; CHECK-NEXT: Optimization Remark Emitter
168 ; CHECK-NEXT: Combine redundant instructions
169 ; CHECK-NEXT: Demanded bits analysis
170 ; CHECK-NEXT: Bit-Tracking Dead Code Elimination
171 ; CHECK-NEXT: Function Alias Analysis Results
172 ; CHECK-NEXT: Optimize scalar/vector ops
173 ; CHECK-NEXT: Scalar Evolution Analysis
174 ; CHECK-NEXT: Alignment from assumptions
175 ; CHECK-NEXT: Optimization Remark Emitter
176 ; CHECK-NEXT: Combine redundant instructions
177 ; CHECK-NEXT: Lazy Value Information Analysis
178 ; CHECK-NEXT: Jump Threading
179 ; CHECK-NEXT: Cross-DSO CFI
180 ; CHECK-NEXT: Lower type metadata
181 ; CHECK-NEXT: Lower type metadata
182 ; CHECK-NEXT: FunctionPass Manager
183 ; CHECK-NEXT: Simplify the CFG
184 ; CHECK-NEXT: Eliminate Available Externally Globals
185 ; CHECK-NEXT: Dead Global Elimination
186 ; CHECK-NEXT: FunctionPass Manager
187 ; CHECK-NEXT: Annotation Remarks
188 ; CHECK-NEXT: Module Verifier
189 ; CHECK-NEXT: Bitcode Writer
190 ; CHECK-NEXT: Pass Arguments:
191 ; CHECK-NEXT: FunctionPass Manager
192 ; CHECK-NEXT: Dominator Tree Construction
193 ; CHECK-NEXT: Pass Arguments:
194 ; CHECK-NEXT: FunctionPass Manager
195 ; CHECK-NEXT: Dominator Tree Construction
196 ; CHECK-NEXT: Pass Arguments:
197 ; CHECK-NEXT: Target Library Information
198 ; CHECK-NEXT: FunctionPass Manager
199 ; CHECK-NEXT: Dominator Tree Construction
200 ; CHECK-NEXT: Natural Loop Information
201 ; CHECK-NEXT: Post-Dominator Tree Construction
202 ; CHECK-NEXT: Branch Probability Analysis
203 ; CHECK-NEXT: Block Frequency Analysis
204 ; CHECK-NEXT: Pass Arguments:
205 ; CHECK-NEXT: Target Library Information
206 ; CHECK-NEXT: FunctionPass Manager
207 ; CHECK-NEXT: Dominator Tree Construction
208 ; CHECK-NEXT: Natural Loop Information
209 ; CHECK-NEXT: Post-Dominator Tree Construction
210 ; CHECK-NEXT: Branch Probability Analysis
211 ; CHECK-NEXT: Block Frequency Analysis