xref: /llvm-project/llvm/test/CodeGen/LoongArch/O0-pipeline.ll (revision 3d08ade7bd32f0296e0ca3a13640cc95fa89229a)
1;; When EXPENSIVE_CHECKS are enabled, the machine verifier appears between each
2;; 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 %s
5; 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 %s
7
8; REQUIRES: asserts
9
10; CHECK-LABEL: Pass Arguments:
11; CHECK-NEXT: Target Library Information
12; CHECK-NEXT: Target Pass Configuration
13; CHECK-NEXT: Machine Module Information
14; CHECK-NEXT: Target Transform Information
15; CHECK-NEXT: Create Garbage Collector Module Metadata
16; CHECK-NEXT: Assumption Cache Tracker
17; CHECK-NEXT: Profile summary info
18; CHECK-NEXT: Machine Branch Probability Analysis
19; CHECK-NEXT:   ModulePass Manager
20; CHECK-NEXT:     Pre-ISel Intrinsic Lowering
21; CHECK-NEXT:     FunctionPass Manager
22; CHECK-NEXT:       Expand large div/rem
23; CHECK-NEXT:       Expand large fp convert
24; CHECK-NEXT:       Expand Atomic instructions
25; CHECK-NEXT:       Module Verifier
26; CHECK-NEXT:       Lower Garbage Collection Instructions
27; CHECK-NEXT:       Shadow Stack GC Lowering
28; CHECK-NEXT:       Remove unreachable blocks from the CFG
29; CHECK-NEXT:       Instrument function entry/exit with calls to e.g. mcount() (post inlining)
30; CHECK-NEXT:       Scalarize Masked Memory Intrinsics
31; CHECK-NEXT:       Expand reduction intrinsics
32; CHECK-NEXT:       Exception handling preparation
33; CHECK-NEXT:       Prepare callbr
34; CHECK-NEXT:       Safe Stack instrumentation pass
35; CHECK-NEXT:       Insert stack protectors
36; CHECK-NEXT:       Module Verifier
37; CHECK-NEXT:       Dominator Tree Construction
38; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)
39; CHECK-NEXT:       Function Alias Analysis Results
40; CHECK-NEXT:       Natural Loop Information
41; CHECK-NEXT:       Post-Dominator Tree Construction
42; CHECK-NEXT:       Branch Probability Analysis
43; CHECK-NEXT:       Assignment Tracking Analysis
44; CHECK-NEXT:       Lazy Branch Probability Analysis
45; CHECK-NEXT:       Lazy Block Frequency Analysis
46; CHECK-NEXT:       LoongArch DAG->DAG Pattern Instruction Selection
47; CHECK-NEXT:       Finalize ISel and expand pseudo-instructions
48; CHECK-NEXT:       Local Stack Slot Allocation
49; CHECK-NEXT:       LoongArch Pre-RA pseudo instruction expansion pass
50; CHECK-NEXT:       Eliminate PHI nodes for register allocation
51; CHECK-NEXT:       Two-Address instruction pass
52; CHECK-NEXT:       Fast Register Allocator
53; CHECK-NEXT:       Remove Redundant DEBUG_VALUE analysis
54; CHECK-NEXT:       Fixup Statepoint Caller Saved
55; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
56; CHECK-NEXT:       Machine Optimization Remark Emitter
57; CHECK-NEXT:       Prologue/Epilogue Insertion & Frame Finalization
58; CHECK-NEXT:       Post-RA pseudo instruction expansion pass
59; CHECK-NEXT:       Analyze Machine Code For Garbage Collection
60; CHECK-NEXT:       Insert fentry calls
61; CHECK-NEXT:       Insert XRay ops
62; CHECK-NEXT:       Implement the 'patchable-function' attribute
63; CHECK-NEXT:       Branch relaxation pass
64; CHECK-NEXT:       Contiguously Lay Out Funclets
65; CHECK-NEXT:       Remove Loads Into Fake Uses
66; CHECK-NEXT:       StackMap Liveness Analysis
67; CHECK-NEXT:       Live DEBUG_VALUE analysis
68; CHECK-NEXT:       Machine Sanitizer Binary Metadata
69; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
70; CHECK-NEXT:       Machine Optimization Remark Emitter
71; CHECK-NEXT:       Stack Frame Layout Analysis
72; CHECK-NEXT:       LoongArch pseudo instruction expansion pass
73; CHECK-NEXT:       LoongArch atomic pseudo instruction expansion pass
74; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
75; CHECK-NEXT:       Machine Optimization Remark Emitter
76; CHECK-NEXT:       LoongArch Assembly Printer
77; CHECK-NEXT:       Free MachineFunction
78