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