148 lines · plain
1; RUN: llc -mtriple=m68k -debug-pass=Structure < %s -o /dev/null 2>&1 | grep -v "Verify generated machine code" | FileCheck %s2; CHECK: ModulePass Manager3; CHECK-NEXT: Pre-ISel Intrinsic Lowering4; CHECK-NEXT: FunctionPass Manager5; CHECK-NEXT: Expand large div/rem6; CHECK-NEXT: Expand fp7; CHECK-NEXT: Expand Atomic instructions8; CHECK-NEXT: Module Verifier9; CHECK-NEXT: Dominator Tree Construction10; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)11; CHECK-NEXT: Natural Loop Information12; CHECK-NEXT: Canonicalize natural loops13; CHECK-NEXT: Scalar Evolution Analysis14; CHECK-NEXT: Loop Pass Manager15; CHECK-NEXT: Canonicalize Freeze Instructions in Loops16; CHECK-NEXT: Induction Variable Users17; CHECK-NEXT: Loop Strength Reduction18; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)19; CHECK-NEXT: Function Alias Analysis Results20; CHECK-NEXT: Merge contiguous icmps into a memcmp21; CHECK-NEXT: Natural Loop Information22; CHECK-NEXT: Lazy Branch Probability Analysis23; CHECK-NEXT: Lazy Block Frequency Analysis24; CHECK-NEXT: Expand memcmp() to load/stores25; CHECK-NEXT: Lower Garbage Collection Instructions26; CHECK-NEXT: Shadow Stack GC Lowering27; CHECK-NEXT: Remove unreachable blocks from the CFG28; CHECK-NEXT: Natural Loop Information29; CHECK-NEXT: Post-Dominator Tree Construction30; CHECK-NEXT: Branch Probability Analysis31; CHECK-NEXT: Block Frequency Analysis32; CHECK-NEXT: Constant Hoisting33; CHECK-NEXT: Replace intrinsics with calls to vector library34; CHECK-NEXT: Lazy Branch Probability Analysis35; CHECK-NEXT: Lazy Block Frequency Analysis36; CHECK-NEXT: Optimization Remark Emitter37; CHECK-NEXT: Partially inline calls to library functions38; CHECK-NEXT: Instrument function entry/exit with calls to e.g. mcount() (post inlining)39; CHECK-NEXT: Scalarize Masked Memory Intrinsics40; CHECK-NEXT: Expand reduction intrinsics41; CHECK-NEXT: Natural Loop Information42; CHECK-NEXT: CodeGen Prepare43; CHECK-NEXT: Dominator Tree Construction44; CHECK-NEXT: Exception handling preparation45; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)46; CHECK-NEXT: Function Alias Analysis Results47; CHECK-NEXT: ObjC ARC contraction48; CHECK-NEXT: Prepare callbr49; CHECK-NEXT: Safe Stack instrumentation pass50; CHECK-NEXT: Insert stack protectors51; CHECK-NEXT: Module Verifier52; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)53; CHECK-NEXT: Function Alias Analysis Results54; CHECK-NEXT: Natural Loop Information55; CHECK-NEXT: Post-Dominator Tree Construction56; CHECK-NEXT: Branch Probability Analysis57; CHECK-NEXT: Assignment Tracking Analysis58; CHECK-NEXT: Lazy Branch Probability Analysis59; CHECK-NEXT: Lazy Block Frequency Analysis60; CHECK-NEXT: M68k DAG->DAG Pattern Instruction Selection61; CHECK-NEXT: M68k PIC Global Base Reg Initialization62; CHECK-NEXT: Finalize ISel and expand pseudo-instructions63; CHECK-NEXT: Lazy Machine Block Frequency Analysis64; CHECK-NEXT: Early Tail Duplication65; CHECK-NEXT: Optimize machine instruction PHIs66; CHECK-NEXT: Slot index numbering67; CHECK-NEXT: Merge disjoint stack slots68; CHECK-NEXT: Local Stack Slot Allocation69; CHECK-NEXT: Remove dead machine instructions70; CHECK-NEXT: MachineDominator Tree Construction71; CHECK-NEXT: Machine Natural Loop Construction72; CHECK-NEXT: Machine Block Frequency Analysis73; CHECK-NEXT: Early Machine Loop Invariant Code Motion74; CHECK-NEXT: MachineDominator Tree Construction75; CHECK-NEXT: Machine Block Frequency Analysis76; CHECK-NEXT: Machine Common Subexpression Elimination77; CHECK-NEXT: MachinePostDominator Tree Construction78; CHECK-NEXT: Machine Cycle Info Analysis79; CHECK-NEXT: Machine code sinking80; CHECK-NEXT: Peephole Optimizations81; CHECK-NEXT: Remove dead machine instructions82; CHECK-NEXT: Detect Dead Lanes83; CHECK-NEXT: Init Undef Pass84; CHECK-NEXT: Process Implicit Definitions85; CHECK-NEXT: Remove unreachable machine basic blocks86; CHECK-NEXT: Live Variable Analysis87; CHECK-NEXT: Eliminate PHI nodes for register allocation88; CHECK-NEXT: Two-Address instruction pass89; CHECK-NEXT: MachineDominator Tree Construction90; CHECK-NEXT: Slot index numbering91; CHECK-NEXT: Live Interval Analysis92; CHECK-NEXT: Register Coalescer93; CHECK-NEXT: Rename Disconnected Subregister Components94; CHECK-NEXT: Machine Instruction Scheduler95; CHECK-NEXT: Machine Block Frequency Analysis96; CHECK-NEXT: Debug Variable Analysis97; CHECK-NEXT: Live Stack Slot Analysis98; CHECK-NEXT: Virtual Register Map99; CHECK-NEXT: Live Register Matrix100; CHECK-NEXT: Bundle Machine CFG Edges101; CHECK-NEXT: Spill Code Placement Analysis102; CHECK-NEXT: Lazy Machine Block Frequency Analysis103; CHECK-NEXT: Machine Optimization Remark Emitter104; CHECK-NEXT: Greedy Register Allocator105; CHECK-NEXT: Virtual Register Rewriter106; CHECK-NEXT: Register Allocation Pass Scoring107; CHECK-NEXT: Stack Slot Coloring108; CHECK-NEXT: Machine Copy Propagation Pass109; CHECK-NEXT: Machine Loop Invariant Code Motion110; CHECK-NEXT: Remove Redundant DEBUG_VALUE analysis111; CHECK-NEXT: Fixup Statepoint Caller Saved112; CHECK-NEXT: PostRA Machine Sink113; CHECK-NEXT: Machine Block Frequency Analysis114; CHECK-NEXT: MachineDominator Tree Construction115; CHECK-NEXT: MachinePostDominator Tree Construction116; CHECK-NEXT: Lazy Machine Block Frequency Analysis117; CHECK-NEXT: Machine Optimization Remark Emitter118; CHECK-NEXT: Shrink Wrapping analysis119; CHECK-NEXT: Prologue/Epilogue Insertion & Frame Finalization120; CHECK-NEXT: Machine Late Instructions Cleanup Pass121; CHECK-NEXT: Control Flow Optimizer122; CHECK-NEXT: Lazy Machine Block Frequency Analysis123; CHECK-NEXT: Tail Duplication124; CHECK-NEXT: Machine Copy Propagation Pass125; CHECK-NEXT: Post-RA pseudo instruction expansion pass126; CHECK-NEXT: M68k pseudo instruction expansion pass127; CHECK-NEXT: MachineDominator Tree Construction128; CHECK-NEXT: Machine Natural Loop Construction129; CHECK-NEXT: Post RA top-down list latency scheduler130; CHECK-NEXT: Analyze Machine Code For Garbage Collection131; CHECK-NEXT: Machine Block Frequency Analysis132; CHECK-NEXT: MachinePostDominator Tree Construction133; CHECK-NEXT: Branch Probability Basic Block Placement134; CHECK-NEXT: Insert fentry calls135; CHECK-NEXT: Insert XRay ops136; CHECK-NEXT: Implement the 'patchable-function' attribute137; CHECK-NEXT: M68k MOVEM collapser pass138; CHECK-NEXT: Contiguously Lay Out Funclets139; CHECK-NEXT: Remove Loads Into Fake Uses140; CHECK-NEXT: StackMap Liveness Analysis141; CHECK-NEXT: Live DEBUG_VALUE analysis142; CHECK-NEXT: Machine Sanitizer Binary Metadata143; CHECK-NEXT: Lazy Machine Block Frequency Analysis144; CHECK-NEXT: Machine Optimization Remark Emitter145; CHECK-NEXT: Stack Frame Layout Analysis146; CHECK-NEXT: M68k Assembly Printer147; CHECK-NEXT: Free MachineFunction148