1
+ ; RUN: llc -mtriple=m68k -debug-pass=Structure < %s -o /dev/null 2>&1 | grep -v "Verify generated machine code" | FileCheck %s
2
+ ; CHECK: ModulePass Manager
3
+ ; CHECK-NEXT: Pre-ISel Intrinsic Lowering
4
+ ; CHECK-NEXT: FunctionPass Manager
5
+ ; CHECK-NEXT: Expand large div/rem
6
+ ; CHECK-NEXT: Module Verifier
7
+ ; CHECK-NEXT: Dominator Tree Construction
8
+ ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
9
+ ; CHECK-NEXT: Natural Loop Information
10
+ ; CHECK-NEXT: Canonicalize natural loops
11
+ ; CHECK-NEXT: Scalar Evolution Analysis
12
+ ; CHECK-NEXT: Loop Pass Manager
13
+ ; CHECK-NEXT: Canonicalize Freeze Instructions in Loops
14
+ ; CHECK-NEXT: Induction Variable Users
15
+ ; CHECK-NEXT: Loop Strength Reduction
16
+ ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
17
+ ; CHECK-NEXT: Function Alias Analysis Results
18
+ ; CHECK-NEXT: Merge contiguous icmps into a memcmp
19
+ ; CHECK-NEXT: Natural Loop Information
20
+ ; CHECK-NEXT: Lazy Branch Probability Analysis
21
+ ; CHECK-NEXT: Lazy Block Frequency Analysis
22
+ ; CHECK-NEXT: Expand memcmp() to load/stores
23
+ ; CHECK-NEXT: Lower Garbage Collection Instructions
24
+ ; CHECK-NEXT: Shadow Stack GC Lowering
25
+ ; CHECK-NEXT: Lower constant intrinsics
26
+ ; CHECK-NEXT: Remove unreachable blocks from the CFG
27
+ ; CHECK-NEXT: Natural Loop Information
28
+ ; CHECK-NEXT: Post-Dominator Tree Construction
29
+ ; CHECK-NEXT: Branch Probability Analysis
30
+ ; CHECK-NEXT: Block Frequency Analysis
31
+ ; CHECK-NEXT: Constant Hoisting
32
+ ; CHECK-NEXT: Replace intrinsics with calls to vector library
33
+ ; CHECK-NEXT: Partially inline calls to library functions
34
+ ; CHECK-NEXT: Expand vector predication intrinsics
35
+ ; CHECK-NEXT: Scalarize Masked Memory Intrinsics
36
+ ; CHECK-NEXT: Expand reduction intrinsics
37
+ ; CHECK-NEXT: Natural Loop Information
38
+ ; CHECK-NEXT: TLS Variable Hoist
39
+ ; CHECK-NEXT: CodeGen Prepare
40
+ ; CHECK-NEXT: Dominator Tree Construction
41
+ ; CHECK-NEXT: Exception handling preparation
42
+ ; CHECK-NEXT: Safe Stack instrumentation pass
43
+ ; CHECK-NEXT: Insert stack protectors
44
+ ; CHECK-NEXT: Module Verifier
45
+ ; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
46
+ ; CHECK-NEXT: Function Alias Analysis Results
47
+ ; CHECK-NEXT: Natural Loop Information
48
+ ; CHECK-NEXT: Post-Dominator Tree Construction
49
+ ; CHECK-NEXT: Branch Probability Analysis
50
+ ; CHECK-NEXT: Lazy Branch Probability Analysis
51
+ ; CHECK-NEXT: Lazy Block Frequency Analysis
52
+ ; CHECK-NEXT: M68k DAG->DAG Pattern Instruction Selection
53
+ ; CHECK-NEXT: M68k PIC Global Base Reg Initialization
54
+ ; CHECK-NEXT: Finalize ISel and expand pseudo-instructions
55
+ ; CHECK-NEXT: Lazy Machine Block Frequency Analysis
56
+ ; CHECK-NEXT: Early Tail Duplication
57
+ ; CHECK-NEXT: Optimize machine instruction PHIs
58
+ ; CHECK-NEXT: Slot index numbering
59
+ ; CHECK-NEXT: Merge disjoint stack slots
60
+ ; CHECK-NEXT: Local Stack Slot Allocation
61
+ ; CHECK-NEXT: Remove dead machine instructions
62
+ ; CHECK-NEXT: MachineDominator Tree Construction
63
+ ; CHECK-NEXT: Machine Natural Loop Construction
64
+ ; CHECK-NEXT: Machine Block Frequency Analysis
65
+ ; CHECK-NEXT: Early Machine Loop Invariant Code Motion
66
+ ; CHECK-NEXT: MachineDominator Tree Construction
67
+ ; CHECK-NEXT: Machine Block Frequency Analysis
68
+ ; CHECK-NEXT: Machine Common Subexpression Elimination
69
+ ; CHECK-NEXT: MachinePostDominator Tree Construction
70
+ ; CHECK-NEXT: Machine Cycle Info Analysis
71
+ ; CHECK-NEXT: Machine code sinking
72
+ ; CHECK-NEXT: Peephole Optimizations
73
+ ; CHECK-NEXT: Remove dead machine instructions
74
+ ; CHECK-NEXT: Detect Dead Lanes
75
+ ; CHECK-NEXT: Process Implicit Definitions
76
+ ; CHECK-NEXT: Remove unreachable machine basic blocks
77
+ ; CHECK-NEXT: Live Variable Analysis
78
+ ; CHECK-NEXT: Eliminate PHI nodes for register allocation
79
+ ; CHECK-NEXT: Two-Address instruction pass
80
+ ; CHECK-NEXT: MachineDominator Tree Construction
81
+ ; CHECK-NEXT: Slot index numbering
82
+ ; CHECK-NEXT: Live Interval Analysis
83
+ ; CHECK-NEXT: Simple Register Coalescing
84
+ ; CHECK-NEXT: Rename Disconnected Subregister Components
85
+ ; CHECK-NEXT: Machine Instruction Scheduler
86
+ ; CHECK-NEXT: Machine Block Frequency Analysis
87
+ ; CHECK-NEXT: Debug Variable Analysis
88
+ ; CHECK-NEXT: Live Stack Slot Analysis
89
+ ; CHECK-NEXT: Virtual Register Map
90
+ ; CHECK-NEXT: Live Register Matrix
91
+ ; CHECK-NEXT: Bundle Machine CFG Edges
92
+ ; CHECK-NEXT: Spill Code Placement Analysis
93
+ ; CHECK-NEXT: Lazy Machine Block Frequency Analysis
94
+ ; CHECK-NEXT: Machine Optimization Remark Emitter
95
+ ; CHECK-NEXT: Greedy Register Allocator
96
+ ; CHECK-NEXT: Virtual Register Rewriter
97
+ ; CHECK-NEXT: Register Allocation Pass Scoring
98
+ ; CHECK-NEXT: Stack Slot Coloring
99
+ ; CHECK-NEXT: Machine Copy Propagation Pass
100
+ ; CHECK-NEXT: Machine Loop Invariant Code Motion
101
+ ; CHECK-NEXT: Remove Redundant DEBUG_VALUE analysis
102
+ ; CHECK-NEXT: Fixup Statepoint Caller Saved
103
+ ; CHECK-NEXT: PostRA Machine Sink
104
+ ; CHECK-NEXT: Machine Block Frequency Analysis
105
+ ; CHECK-NEXT: MachineDominator Tree Construction
106
+ ; CHECK-NEXT: MachinePostDominator Tree Construction
107
+ ; CHECK-NEXT: Lazy Machine Block Frequency Analysis
108
+ ; CHECK-NEXT: Machine Optimization Remark Emitter
109
+ ; CHECK-NEXT: Shrink Wrapping analysis
110
+ ; CHECK-NEXT: Prologue/Epilogue Insertion & Frame Finalization
111
+ ; CHECK-NEXT: Control Flow Optimizer
112
+ ; CHECK-NEXT: Lazy Machine Block Frequency Analysis
113
+ ; CHECK-NEXT: Tail Duplication
114
+ ; CHECK-NEXT: Machine Copy Propagation Pass
115
+ ; CHECK-NEXT: Post-RA pseudo instruction expansion pass
116
+ ; CHECK-NEXT: M68k pseudo instruction expansion pass
117
+ ; CHECK-NEXT: MachineDominator Tree Construction
118
+ ; CHECK-NEXT: Machine Natural Loop Construction
119
+ ; CHECK-NEXT: Post RA top-down list latency scheduler
120
+ ; CHECK-NEXT: Analyze Machine Code For Garbage Collection
121
+ ; CHECK-NEXT: Machine Block Frequency Analysis
122
+ ; CHECK-NEXT: MachinePostDominator Tree Construction
123
+ ; CHECK-NEXT: Branch Probability Basic Block Placement
124
+ ; CHECK-NEXT: Insert fentry calls
125
+ ; CHECK-NEXT: Insert XRay ops
126
+ ; CHECK-NEXT: Implement the 'patchable-function' attribute
127
+ ; CHECK-NEXT: M68k MOVEM collapser pass
128
+ ; CHECK-NEXT: Contiguously Lay Out Funclets
129
+ ; CHECK-NEXT: StackMap Liveness Analysis
130
+ ; CHECK-NEXT: Live DEBUG_VALUE analysis
131
+ ; CHECK-NEXT: Lazy Machine Block Frequency Analysis
132
+ ; CHECK-NEXT: Machine Optimization Remark Emitter
133
+ ; CHECK-NEXT: M68k Assembly Printer
134
+ ; CHECK-NEXT: Free MachineFunction
0 commit comments