blob: 85f25363d2321127f553fa64038872c3b9a23a29 [file] [log] [blame]
Arthur Eubanks2af4c2b2020-08-17 17:48:04 -07001; RUN: opt -enable-new-pm=0 -mtriple=x86_64-- -O3 -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck --check-prefixes=CHECK,%llvmcheckext %s
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +00002
3; REQUIRES: asserts
4
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
serge_sans_paille24ab9b52019-06-08 17:37:47 +020013; CHECK-EXT: Good Bye World Pass
14; CHECK-NOEXT-NOT: Good Bye World Pass
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000015; CHECK-NEXT: Instrument function entry/exit with calls to e.g. mcount() (pre inlining)
16; CHECK-NEXT: Simplify the CFG
17; CHECK-NEXT: Dominator Tree Construction
18; CHECK-NEXT: SROA
19; CHECK-NEXT: Early CSE
20; CHECK-NEXT: Lower 'expect' Intrinsics
21; CHECK-NEXT: Pass Arguments:
22; CHECK-NEXT: Target Library Information
23; CHECK-NEXT: Target Transform Information
Michael Zolotukhincc839942018-03-21 22:57:33 +000024; Target Pass Configuration
25; CHECK: Type-Based Alias Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000026; CHECK-NEXT: Scoped NoAlias Alias Analysis
27; CHECK-NEXT: Assumption Cache Tracker
28; CHECK-NEXT: Profile summary info
29; CHECK-NEXT: ModulePass Manager
Florian Hahn8dbe44c2020-11-16 09:49:04 +000030; CHECK-NEXT: Annotation2Metadata
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000031; CHECK-NEXT: Force set function attributes
32; CHECK-NEXT: Infer set function attributes
33; CHECK-NEXT: FunctionPass Manager
Florian Hahn505091a2018-11-14 10:04:30 +000034; CHECK-NEXT: Dominator Tree Construction
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000035; CHECK-NEXT: Call-site splitting
36; CHECK-NEXT: Interprocedural Sparse Conditional Constant Propagation
evgeny87eac7e2019-11-01 14:43:51 +030037; CHECK-NEXT: FunctionPass Manager
38; CHECK-NEXT: Dominator Tree Construction
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000039; CHECK-NEXT: Called Value Propagation
40; CHECK-NEXT: Global Variable Optimizer
evgeny87eac7e2019-11-01 14:43:51 +030041; CHECK-NEXT: FunctionPass Manager
42; CHECK-NEXT: Dominator Tree Construction
43; CHECK-NEXT: Natural Loop Information
Evgeniy Brevnov3e68a6672020-04-28 16:31:20 +070044; CHECK-NEXT: Post-Dominator Tree Construction
evgeny87eac7e2019-11-01 14:43:51 +030045; CHECK-NEXT: Branch Probability Analysis
46; CHECK-NEXT: Block Frequency Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000047; CHECK-NEXT: FunctionPass Manager
48; CHECK-NEXT: Dominator Tree Construction
49; CHECK-NEXT: Promote Memory to Register
50; CHECK-NEXT: Dead Argument Elimination
51; CHECK-NEXT: FunctionPass Manager
52; CHECK-NEXT: Dominator Tree Construction
53; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
54; CHECK-NEXT: Function Alias Analysis Results
55; CHECK-NEXT: Natural Loop Information
56; CHECK-NEXT: Lazy Branch Probability Analysis
57; CHECK-NEXT: Lazy Block Frequency Analysis
58; CHECK-NEXT: Optimization Remark Emitter
59; CHECK-NEXT: Combine redundant instructions
60; CHECK-NEXT: Simplify the CFG
61; CHECK-NEXT: CallGraph Construction
62; CHECK-NEXT: Globals Alias Analysis
63; CHECK-NEXT: Call Graph SCC Pass Manager
64; CHECK-NEXT: Remove unused exception handling info
65; CHECK-NEXT: Function Integration/Inlining
Johannes Doerfert9548b742019-11-06 23:20:06 -060066; CHECK-NEXT: OpenMP specific optimizations
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000067; CHECK-NEXT: Deduce function attributes
68; CHECK-NEXT: Promote 'by reference' arguments to scalars
69; CHECK-NEXT: FunctionPass Manager
70; CHECK-NEXT: Dominator Tree Construction
71; CHECK-NEXT: SROA
72; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
73; CHECK-NEXT: Function Alias Analysis Results
74; CHECK-NEXT: Memory SSA
75; CHECK-NEXT: Early CSE w/ MemorySSA
76; CHECK-NEXT: Speculatively execute instructions if target has divergent branches
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000077; CHECK-NEXT: Function Alias Analysis Results
78; CHECK-NEXT: Lazy Value Information Analysis
79; CHECK-NEXT: Jump Threading
80; CHECK-NEXT: Value Propagation
81; CHECK-NEXT: Simplify the CFG
82; CHECK-NEXT: Dominator Tree Construction
83; CHECK-NEXT: Combine pattern based expressions
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: Combine redundant instructions
91; CHECK-NEXT: Conditionally eliminate dead library calls
92; CHECK-NEXT: Natural Loop Information
Evgeniy Brevnov3e68a6672020-04-28 16:31:20 +070093; CHECK-NEXT: Post-Dominator Tree Construction
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +000094; CHECK-NEXT: Branch Probability Analysis
95; CHECK-NEXT: Block Frequency Analysis
96; CHECK-NEXT: Lazy Branch Probability Analysis
97; CHECK-NEXT: Lazy Block Frequency Analysis
98; CHECK-NEXT: Optimization Remark Emitter
99; CHECK-NEXT: PGOMemOPSize
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000100; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
101; CHECK-NEXT: Function Alias Analysis Results
102; CHECK-NEXT: Natural Loop Information
103; CHECK-NEXT: Lazy Branch Probability Analysis
104; CHECK-NEXT: Lazy Block Frequency Analysis
105; CHECK-NEXT: Optimization Remark Emitter
106; CHECK-NEXT: Tail Call Elimination
107; CHECK-NEXT: Simplify the CFG
108; CHECK-NEXT: Reassociate expressions
109; CHECK-NEXT: Dominator Tree Construction
110; CHECK-NEXT: Natural Loop Information
111; CHECK-NEXT: Canonicalize natural loops
112; CHECK-NEXT: LCSSA Verifier
113; CHECK-NEXT: Loop-Closed SSA Form Pass
Alina Sbirlea1326a5a2020-02-13 10:49:44 -0800114; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
115; CHECK-NEXT: Function Alias Analysis Results
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000116; CHECK-NEXT: Scalar Evolution Analysis
117; CHECK-NEXT: Loop Pass Manager
118; CHECK-NEXT: Rotate Loops
Alina Sbirlea1326a5a2020-02-13 10:49:44 -0800119; CHECK-NEXT: Memory SSA
Wenlei He2ea4c2c2020-09-15 16:09:30 -0700120; CHECK-NEXT: Lazy Branch Probability Analysis
121; CHECK-NEXT: Lazy Block Frequency Analysis
Alina Sbirlea1326a5a2020-02-13 10:49:44 -0800122; CHECK-NEXT: Loop Pass Manager
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000123; CHECK-NEXT: Loop Invariant Code Motion
124; CHECK-NEXT: Unswitch loops
125; CHECK-NEXT: Simplify the CFG
126; CHECK-NEXT: Dominator Tree Construction
127; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
128; CHECK-NEXT: Function Alias Analysis Results
129; CHECK-NEXT: Natural Loop Information
130; CHECK-NEXT: Lazy Branch Probability Analysis
131; CHECK-NEXT: Lazy Block Frequency Analysis
132; CHECK-NEXT: Optimization Remark Emitter
133; CHECK-NEXT: Combine redundant instructions
134; CHECK-NEXT: Canonicalize natural loops
135; CHECK-NEXT: LCSSA Verifier
136; CHECK-NEXT: Loop-Closed SSA Form Pass
137; CHECK-NEXT: Scalar Evolution Analysis
138; CHECK-NEXT: Loop Pass Manager
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000139; CHECK-NEXT: Recognize loop idioms
Roman Lebedeva8d74512020-11-25 19:17:25 +0300140; CHECK-NEXT: Induction Variable Simplification
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000141; CHECK-NEXT: Delete dead loops
142; CHECK-NEXT: Unroll loops
Roman Lebedev03bd5192020-10-04 11:27:07 +0300143; CHECK-NEXT: SROA
144; CHECK-NEXT: Function Alias Analysis Results
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000145; CHECK-NEXT: MergedLoadStoreMotion
John Brawncd5f37f2018-07-31 14:19:29 +0000146; CHECK-NEXT: Phi Values Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000147; CHECK-NEXT: Function Alias Analysis Results
148; CHECK-NEXT: Memory Dependence Analysis
149; CHECK-NEXT: Lazy Branch Probability Analysis
150; CHECK-NEXT: Lazy Block Frequency Analysis
151; CHECK-NEXT: Optimization Remark Emitter
152; CHECK-NEXT: Global Value Numbering
David Green245f8462020-09-03 12:01:51 +0100153; CHECK-NEXT: Phi Values Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000154; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
155; CHECK-NEXT: Function Alias Analysis Results
156; CHECK-NEXT: Memory Dependence Analysis
157; CHECK-NEXT: MemCpy Optimization
158; CHECK-NEXT: Sparse Conditional Constant Propagation
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000159; CHECK-NEXT: Demanded bits analysis
160; CHECK-NEXT: Bit-Tracking Dead Code Elimination
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000161; CHECK-NEXT: Function Alias Analysis Results
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000162; CHECK-NEXT: Lazy Branch Probability Analysis
163; CHECK-NEXT: Lazy Block Frequency Analysis
164; CHECK-NEXT: Optimization Remark Emitter
165; CHECK-NEXT: Combine redundant instructions
166; CHECK-NEXT: Lazy Value Information Analysis
167; CHECK-NEXT: Jump Threading
168; CHECK-NEXT: Value Propagation
Florian Hahn88241ff2020-10-21 10:21:50 +0100169; CHECK-NEXT: Post-Dominator Tree Construction
170; CHECK-NEXT: Aggressive Dead Code Elimination
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000171; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
172; CHECK-NEXT: Function Alias Analysis Results
Florian Hahn915310b2020-09-26 17:56:15 +0100173; CHECK-NEXT: Memory SSA
Florian Hahn51ff0452020-10-16 08:42:18 +0100174; CHECK-NEXT: Dead Store Elimination
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000175; CHECK-NEXT: Natural Loop Information
176; CHECK-NEXT: Canonicalize natural loops
177; CHECK-NEXT: LCSSA Verifier
178; CHECK-NEXT: Loop-Closed SSA Form Pass
Florian Hahn51ff0452020-10-16 08:42:18 +0100179; CHECK-NEXT: Function Alias Analysis Results
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000180; CHECK-NEXT: Scalar Evolution Analysis
Wenlei He2ea4c2c2020-09-15 16:09:30 -0700181; CHECK-NEXT: Lazy Branch Probability Analysis
182; CHECK-NEXT: Lazy Block Frequency Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000183; CHECK-NEXT: Loop Pass Manager
184; CHECK-NEXT: Loop Invariant Code Motion
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000185; CHECK-NEXT: Simplify the CFG
186; CHECK-NEXT: Dominator Tree Construction
187; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
188; CHECK-NEXT: Function Alias Analysis Results
189; CHECK-NEXT: Natural Loop Information
190; CHECK-NEXT: Lazy Branch Probability Analysis
191; CHECK-NEXT: Lazy Block Frequency Analysis
192; CHECK-NEXT: Optimization Remark Emitter
193; CHECK-NEXT: Combine redundant instructions
194; CHECK-NEXT: A No-Op Barrier Pass
195; CHECK-NEXT: Eliminate Available Externally Globals
196; CHECK-NEXT: CallGraph Construction
197; CHECK-NEXT: Deduce function attributes in RPO
198; CHECK-NEXT: Global Variable Optimizer
evgeny87eac7e2019-11-01 14:43:51 +0300199; CHECK-NEXT: FunctionPass Manager
200; CHECK-NEXT: Dominator Tree Construction
201; CHECK-NEXT: Natural Loop Information
Evgeniy Brevnov3e68a6672020-04-28 16:31:20 +0700202; CHECK-NEXT: Post-Dominator Tree Construction
evgeny87eac7e2019-11-01 14:43:51 +0300203; CHECK-NEXT: Branch Probability Analysis
204; CHECK-NEXT: Block Frequency Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000205; CHECK-NEXT: Dead Global Elimination
206; CHECK-NEXT: CallGraph Construction
207; CHECK-NEXT: Globals Alias Analysis
208; CHECK-NEXT: FunctionPass Manager
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000209; CHECK-NEXT: Dominator Tree Construction
Sanjay Patel13e71ce2019-09-19 16:31:17 +0000210; CHECK-NEXT: Float to int
Joerg Sonnenberger9681ea92019-10-14 16:15:14 +0000211; CHECK-NEXT: Lower constant intrinsics
212; CHECK-NEXT: Dominator Tree Construction
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000213; CHECK-NEXT: Natural Loop Information
214; CHECK-NEXT: Canonicalize natural loops
215; CHECK-NEXT: LCSSA Verifier
216; CHECK-NEXT: Loop-Closed SSA Form Pass
Alina Sbirlea1326a5a2020-02-13 10:49:44 -0800217; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
218; CHECK-NEXT: Function Alias Analysis Results
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000219; CHECK-NEXT: Scalar Evolution Analysis
220; CHECK-NEXT: Loop Pass Manager
221; CHECK-NEXT: Rotate Loops
222; CHECK-NEXT: Loop Access Analysis
223; CHECK-NEXT: Lazy Branch Probability Analysis
224; CHECK-NEXT: Lazy Block Frequency Analysis
225; CHECK-NEXT: Optimization Remark Emitter
226; CHECK-NEXT: Loop Distribution
Evgeniy Brevnov3e68a6672020-04-28 16:31:20 +0700227; CHECK-NEXT: Post-Dominator Tree Construction
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000228; CHECK-NEXT: Branch Probability Analysis
229; CHECK-NEXT: Block Frequency Analysis
230; CHECK-NEXT: Scalar Evolution Analysis
231; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
232; CHECK-NEXT: Function Alias Analysis Results
233; CHECK-NEXT: Loop Access Analysis
234; CHECK-NEXT: Demanded bits analysis
235; CHECK-NEXT: Lazy Branch Probability Analysis
236; CHECK-NEXT: Lazy Block Frequency Analysis
237; CHECK-NEXT: Optimization Remark Emitter
Francesco Petrogalli66c120f02019-12-13 19:43:26 +0000238; CHECK-NEXT: Inject TLI Mappings
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000239; CHECK-NEXT: Loop Vectorization
240; CHECK-NEXT: Canonicalize natural loops
241; CHECK-NEXT: Scalar Evolution Analysis
242; CHECK-NEXT: Function Alias Analysis Results
243; CHECK-NEXT: Loop Access Analysis
Hiroshi Yamauchi09e539f2019-04-15 16:49:00 +0000244; CHECK-NEXT: Lazy Branch Probability Analysis
245; CHECK-NEXT: Lazy Block Frequency Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000246; CHECK-NEXT: Loop Load Elimination
247; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
248; CHECK-NEXT: Function Alias Analysis Results
249; CHECK-NEXT: Lazy Branch Probability Analysis
250; CHECK-NEXT: Lazy Block Frequency Analysis
251; CHECK-NEXT: Optimization Remark Emitter
252; CHECK-NEXT: Combine redundant instructions
253; CHECK-NEXT: Simplify the CFG
254; CHECK-NEXT: Dominator Tree Construction
255; CHECK-NEXT: Natural Loop Information
256; CHECK-NEXT: Scalar Evolution Analysis
257; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
258; CHECK-NEXT: Function Alias Analysis Results
259; CHECK-NEXT: Demanded bits analysis
260; CHECK-NEXT: Lazy Branch Probability Analysis
261; CHECK-NEXT: Lazy Block Frequency Analysis
262; CHECK-NEXT: Optimization Remark Emitter
Florian Hahn2d6ecf42020-03-10 13:03:43 +0000263; CHECK-NEXT: Inject TLI Mappings
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000264; CHECK-NEXT: SLP Vectorizer
Sanjay Patel6438ea42020-05-22 12:13:18 -0400265; CHECK-NEXT: Optimize scalar/vector ops
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000266; CHECK-NEXT: Optimization Remark Emitter
267; CHECK-NEXT: Combine redundant instructions
268; CHECK-NEXT: Canonicalize natural loops
269; CHECK-NEXT: LCSSA Verifier
270; CHECK-NEXT: Loop-Closed SSA Form Pass
271; CHECK-NEXT: Scalar Evolution Analysis
272; CHECK-NEXT: Loop Pass Manager
273; CHECK-NEXT: Unroll loops
274; CHECK-NEXT: Lazy Branch Probability Analysis
275; CHECK-NEXT: Lazy Block Frequency Analysis
276; CHECK-NEXT: Optimization Remark Emitter
277; CHECK-NEXT: Combine redundant instructions
Alina Sbirlea6da79ce2019-09-04 19:16:04 +0000278; CHECK-NEXT: Memory SSA
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000279; CHECK-NEXT: Canonicalize natural loops
280; CHECK-NEXT: LCSSA Verifier
281; CHECK-NEXT: Loop-Closed SSA Form Pass
282; CHECK-NEXT: Scalar Evolution Analysis
Michael Kruse72448522018-12-12 17:32:52 +0000283; CHECK-NEXT: Lazy Branch Probability Analysis
284; CHECK-NEXT: Lazy Block Frequency Analysis
Wenlei He2ea4c2c2020-09-15 16:09:30 -0700285; CHECK-NEXT: Loop Pass Manager
286; CHECK-NEXT: Loop Invariant Code Motion
Michael Kruse72448522018-12-12 17:32:52 +0000287; CHECK-NEXT: Optimization Remark Emitter
288; CHECK-NEXT: Warn about non-applied transformations
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000289; CHECK-NEXT: Alignment from assumptions
290; CHECK-NEXT: Strip Unused Function Prototypes
291; CHECK-NEXT: Dead Global Elimination
292; CHECK-NEXT: Merge Duplicate Global Constants
Zequan Wu1fbb7192020-07-08 12:30:28 -0700293; CHECK-NEXT: Call Graph Profile
294; CHECK-NEXT: FunctionPass Manager
295; CHECK-NEXT: Dominator Tree Construction
296; CHECK-NEXT: Natural Loop Information
297; CHECK-NEXT: Lazy Branch Probability Analysis
298; CHECK-NEXT: Lazy Block Frequency Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000299; CHECK-NEXT: FunctionPass Manager
300; CHECK-NEXT: Dominator Tree Construction
301; CHECK-NEXT: Natural Loop Information
Evgeniy Brevnov3e68a6672020-04-28 16:31:20 +0700302; CHECK-NEXT: Post-Dominator Tree Construction
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000303; CHECK-NEXT: Branch Probability Analysis
304; CHECK-NEXT: Block Frequency Analysis
305; CHECK-NEXT: Canonicalize natural loops
306; CHECK-NEXT: LCSSA Verifier
307; CHECK-NEXT: Loop-Closed SSA Form Pass
308; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
309; CHECK-NEXT: Function Alias Analysis Results
310; CHECK-NEXT: Scalar Evolution Analysis
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000311; CHECK-NEXT: Block Frequency Analysis
312; CHECK-NEXT: Loop Pass Manager
313; CHECK-NEXT: Loop Sink
314; CHECK-NEXT: Lazy Branch Probability Analysis
315; CHECK-NEXT: Lazy Block Frequency Analysis
316; CHECK-NEXT: Optimization Remark Emitter
317; CHECK-NEXT: Remove redundant instructions
318; CHECK-NEXT: Hoist/decompose integer division and remainder
319; CHECK-NEXT: Simplify the CFG
Florian Hahn8bb63472020-11-13 09:46:55 +0000320; CHECK-NEXT: Annotation Remarks
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000321; CHECK-NEXT: Module Verifier
322; CHECK-NEXT: Bitcode Writer
323; CHECK-NEXT: Pass Arguments:
Florian Hahn30522902018-08-23 11:04:00 +0000324; CHECK-NEXT: FunctionPass Manager
325; CHECK-NEXT: Dominator Tree Construction
326; CHECK-NEXT: Pass Arguments:
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000327; CHECK-NEXT: Target Library Information
328; CHECK-NEXT: FunctionPass Manager
329; CHECK-NEXT: Dominator Tree Construction
330; CHECK-NEXT: Natural Loop Information
Evgeniy Brevnov3e68a6672020-04-28 16:31:20 +0700331; CHECK-NEXT: Post-Dominator Tree Construction
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000332; CHECK-NEXT: Branch Probability Analysis
333; CHECK-NEXT: Block Frequency Analysis
334; CHECK-NEXT: Pass Arguments:
335; CHECK-NEXT: Target Library Information
336; CHECK-NEXT: FunctionPass Manager
337; CHECK-NEXT: Dominator Tree Construction
338; CHECK-NEXT: Natural Loop Information
Evgeniy Brevnov3e68a6672020-04-28 16:31:20 +0700339; CHECK-NEXT: Post-Dominator Tree Construction
Michael Zolotukhin1dce44e2018-03-21 22:17:31 +0000340; CHECK-NEXT: Branch Probability Analysis
341; CHECK-NEXT: Block Frequency Analysis
342
343define void @f() {
344 ret void
345}