|  | ;; When EXPENSIVE_CHECKS are enabled, the machine verifier appears between each | 
|  | ;; pass. Ignore it with 'grep -v'. | 
|  | ; RUN: llc --mtriple=loongarch32 -mattr=+d -O0 --debug-pass=Structure %s -o /dev/null 2>&1 | \ | 
|  | ; RUN:   grep -v "Verify generated machine code" | FileCheck %s | 
|  | ; RUN: llc --mtriple=loongarch64 -mattr=+d -O0 --debug-pass=Structure %s -o /dev/null 2>&1 | \ | 
|  | ; RUN:   grep -v "Verify generated machine code" | FileCheck %s | 
|  |  | 
|  | ; REQUIRES: asserts | 
|  |  | 
|  | ; CHECK-LABEL: Pass Arguments: | 
|  | ; CHECK-NEXT: Target Library Information | 
|  | ; CHECK-NEXT: Target Pass Configuration | 
|  | ; CHECK-NEXT: Machine Module Information | 
|  | ; CHECK-NEXT: Target Transform Information | 
|  | ; CHECK-NEXT: Create Garbage Collector Module Metadata | 
|  | ; CHECK-NEXT: Assumption Cache Tracker | 
|  | ; CHECK-NEXT: Profile summary info | 
|  | ; CHECK-NEXT: Machine Branch Probability Analysis | 
|  | ; CHECK-NEXT:   ModulePass Manager | 
|  | ; CHECK-NEXT:     Pre-ISel Intrinsic Lowering | 
|  | ; CHECK-NEXT:     FunctionPass Manager | 
|  | ; CHECK-NEXT:       Expand large div/rem | 
|  | ; CHECK-NEXT:       Expand large fp convert | 
|  | ; CHECK-NEXT:       Expand Atomic instructions | 
|  | ; CHECK-NEXT:       Module Verifier | 
|  | ; CHECK-NEXT:       Lower Garbage Collection Instructions | 
|  | ; CHECK-NEXT:       Shadow Stack GC Lowering | 
|  | ; CHECK-NEXT:       Remove unreachable blocks from the CFG | 
|  | ; CHECK-NEXT:       Instrument function entry/exit with calls to e.g. mcount() (post inlining) | 
|  | ; CHECK-NEXT:       Scalarize Masked Memory Intrinsics | 
|  | ; CHECK-NEXT:       Expand reduction intrinsics | 
|  | ; CHECK-NEXT:       Exception handling preparation | 
|  | ; CHECK-NEXT:       Prepare callbr | 
|  | ; CHECK-NEXT:       Safe Stack instrumentation pass | 
|  | ; CHECK-NEXT:       Insert stack protectors | 
|  | ; CHECK-NEXT:       Module Verifier | 
|  | ; CHECK-NEXT:       Dominator Tree Construction | 
|  | ; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl) | 
|  | ; CHECK-NEXT:       Function Alias Analysis Results | 
|  | ; CHECK-NEXT:       Natural Loop Information | 
|  | ; CHECK-NEXT:       Post-Dominator Tree Construction | 
|  | ; CHECK-NEXT:       Branch Probability Analysis | 
|  | ; CHECK-NEXT:       Assignment Tracking Analysis | 
|  | ; CHECK-NEXT:       Lazy Branch Probability Analysis | 
|  | ; CHECK-NEXT:       Lazy Block Frequency Analysis | 
|  | ; CHECK-NEXT:       LoongArch DAG->DAG Pattern Instruction Selection | 
|  | ; CHECK-NEXT:       Finalize ISel and expand pseudo-instructions | 
|  | ; CHECK-NEXT:       Local Stack Slot Allocation | 
|  | ; CHECK-NEXT:       LoongArch Pre-RA pseudo instruction expansion pass | 
|  | ; CHECK-NEXT:       Eliminate PHI nodes for register allocation | 
|  | ; CHECK-NEXT:       Two-Address instruction pass | 
|  | ; CHECK-NEXT:       Fast Register Allocator | 
|  | ; CHECK-NEXT:       Remove Redundant DEBUG_VALUE analysis | 
|  | ; CHECK-NEXT:       Fixup Statepoint Caller Saved | 
|  | ; CHECK-NEXT:       Lazy Machine Block Frequency Analysis | 
|  | ; CHECK-NEXT:       Machine Optimization Remark Emitter | 
|  | ; CHECK-NEXT:       Prologue/Epilogue Insertion & Frame Finalization | 
|  | ; CHECK-NEXT:       Post-RA pseudo instruction expansion pass | 
|  | ; CHECK-NEXT:       Analyze Machine Code For Garbage Collection | 
|  | ; CHECK-NEXT:       Insert fentry calls | 
|  | ; CHECK-NEXT:       Insert XRay ops | 
|  | ; CHECK-NEXT:       Implement the 'patchable-function' attribute | 
|  | ; CHECK-NEXT:       Branch relaxation pass | 
|  | ; CHECK-NEXT:       Contiguously Lay Out Funclets | 
|  | ; CHECK-NEXT:       Remove Loads Into Fake Uses | 
|  | ; CHECK-NEXT:       StackMap Liveness Analysis | 
|  | ; CHECK-NEXT:       Live DEBUG_VALUE analysis | 
|  | ; CHECK-NEXT:       Machine Sanitizer Binary Metadata | 
|  | ; CHECK-NEXT:       Lazy Machine Block Frequency Analysis | 
|  | ; CHECK-NEXT:       Machine Optimization Remark Emitter | 
|  | ; CHECK-NEXT:       Stack Frame Layout Analysis | 
|  | ; CHECK-NEXT:       LoongArch pseudo instruction expansion pass | 
|  | ; CHECK-NEXT:       LoongArch atomic pseudo instruction expansion pass | 
|  | ; CHECK-NEXT:       Lazy Machine Block Frequency Analysis | 
|  | ; CHECK-NEXT:       Machine Optimization Remark Emitter | 
|  | ; CHECK-NEXT:       LoongArch Assembly Printer | 
|  | ; CHECK-NEXT:       Free MachineFunction |