70 lines · plain
1;; When EXPENSIVE_CHECKS are enabled, the machine verifier appears between each2;; pass. Ignore it with 'grep -v'.3; RUN: llc --mtriple=loongarch32 -mattr=+d -O0 --debug-pass=Structure %s -o /dev/null 2>&1 | \4; RUN: grep -v "Verify generated machine code" | FileCheck %s5; RUN: llc --mtriple=loongarch64 -mattr=+d -O0 --debug-pass=Structure %s -o /dev/null 2>&1 | \6; RUN: grep -v "Verify generated machine code" | FileCheck %s7 8; REQUIRES: asserts9 10; CHECK-LABEL: Pass Arguments:11; CHECK-NEXT: Target Library Information12; CHECK-NEXT: Target Pass Configuration13; CHECK-NEXT: Machine Module Information14; CHECK-NEXT: Target Transform Information15; CHECK-NEXT: Create Garbage Collector Module Metadata16; CHECK-NEXT: Assumption Cache Tracker17; CHECK-NEXT: Profile summary info18; CHECK-NEXT: Machine Branch Probability Analysis19; CHECK-NEXT: ModulePass Manager20; CHECK-NEXT: Pre-ISel Intrinsic Lowering21; CHECK-NEXT: FunctionPass Manager22; CHECK-NEXT: Expand large div/rem23; CHECK-NEXT: Expand fp24; CHECK-NEXT: Expand Atomic instructions25; CHECK-NEXT: Module Verifier26; CHECK-NEXT: Lower Garbage Collection Instructions27; CHECK-NEXT: Shadow Stack GC Lowering28; CHECK-NEXT: Remove unreachable blocks from the CFG29; CHECK-NEXT: Instrument function entry/exit with calls to e.g. mcount() (post inlining)30; CHECK-NEXT: Scalarize Masked Memory Intrinsics31; CHECK-NEXT: Expand reduction intrinsics32; CHECK-NEXT: Exception handling preparation33; CHECK-NEXT: Prepare callbr34; CHECK-NEXT: Safe Stack instrumentation pass35; CHECK-NEXT: Insert stack protectors36; CHECK-NEXT: Module Verifier37; CHECK-NEXT: Assignment Tracking Analysis38; CHECK-NEXT: LoongArch DAG->DAG Pattern Instruction Selection39; CHECK-NEXT: Finalize ISel and expand pseudo-instructions40; CHECK-NEXT: Local Stack Slot Allocation41; CHECK-NEXT: LoongArch Pre-RA pseudo instruction expansion pass42; CHECK-NEXT: Eliminate PHI nodes for register allocation43; CHECK-NEXT: Two-Address instruction pass44; CHECK-NEXT: Fast Register Allocator45; CHECK-NEXT: Remove Redundant DEBUG_VALUE analysis46; CHECK-NEXT: Fixup Statepoint Caller Saved47; CHECK-NEXT: Lazy Machine Block Frequency Analysis48; CHECK-NEXT: Machine Optimization Remark Emitter49; CHECK-NEXT: Prologue/Epilogue Insertion & Frame Finalization50; CHECK-NEXT: Post-RA pseudo instruction expansion pass51; CHECK-NEXT: Analyze Machine Code For Garbage Collection52; CHECK-NEXT: Insert fentry calls53; CHECK-NEXT: Insert XRay ops54; CHECK-NEXT: Implement the 'patchable-function' attribute55; CHECK-NEXT: Branch relaxation pass56; CHECK-NEXT: Contiguously Lay Out Funclets57; CHECK-NEXT: Remove Loads Into Fake Uses58; CHECK-NEXT: StackMap Liveness Analysis59; CHECK-NEXT: Live DEBUG_VALUE analysis60; CHECK-NEXT: Machine Sanitizer Binary Metadata61; CHECK-NEXT: Lazy Machine Block Frequency Analysis62; CHECK-NEXT: Machine Optimization Remark Emitter63; CHECK-NEXT: Stack Frame Layout Analysis64; CHECK-NEXT: LoongArch pseudo instruction expansion pass65; CHECK-NEXT: LoongArch atomic pseudo instruction expansion pass66; CHECK-NEXT: Lazy Machine Block Frequency Analysis67; CHECK-NEXT: Machine Optimization Remark Emitter68; CHECK-NEXT: LoongArch Assembly Printer69; CHECK-NEXT: Free MachineFunction70