xref: /llvm-project/llvm/test/CodeGen/AArch64/O0-pipeline.ll (revision 514580b43898921cc95659de47b383bd2c9b4b12)
1; RUN: llc --debugify-and-strip-all-safe=0 -mtriple=arm64-- -O0 -debug-pass=Structure < %s -o /dev/null 2>&1 | \
2; RUN:     grep -v "Verify generated machine code" | FileCheck %s
3
4; REQUIRES: asserts
5
6; CHECK-LABEL: Pass Arguments:
7; CHECK-NEXT: Target Library Information
8; CHECK-NEXT: Target Pass Configuration
9; CHECK-NEXT: Machine Module Information
10; CHECK-NEXT: Target Transform Information
11; CHECK-NEXT: Create Garbage Collector Module Metadata
12; CHECK-NEXT: Profile summary info
13; CHECK-NEXT: Assumption Cache Tracker
14; CHECK-NEXT: Machine Branch Probability Analysis
15; CHECK-NEXT:   ModulePass Manager
16; CHECK-NEXT:     Pre-ISel Intrinsic Lowering
17; CHECK-NEXT:     FunctionPass Manager
18; CHECK-NEXT:       Expand large div/rem
19; CHECK-NEXT:       Expand large fp convert
20; CHECK-NEXT:       Expand Atomic instructions
21; CHECK-NEXT:       Module Verifier
22; CHECK-NEXT:       Lower Garbage Collection Instructions
23; CHECK-NEXT:       Shadow Stack GC Lowering
24; CHECK-NEXT:       Remove unreachable blocks from the CFG
25; CHECK-NEXT:       Instrument function entry/exit with calls to e.g. mcount() (post inlining)
26; CHECK-NEXT:       Scalarize Masked Memory Intrinsics
27; CHECK-NEXT:       Expand reduction intrinsics
28; CHECK-NEXT:       Dominator Tree Construction
29; CHECK-NEXT:       Natural Loop Information
30; CHECK-NEXT:       Lazy Branch Probability Analysis
31; CHECK-NEXT:       Lazy Block Frequency Analysis
32; CHECK-NEXT:       Optimization Remark Emitter
33; CHECK-NEXT:       AArch64 Stack Tagging
34; CHECK-NEXT:       SME ABI Pass
35; CHECK-NEXT:       Exception handling preparation
36; CHECK-NEXT:       Prepare callbr
37; CHECK-NEXT:       Safe Stack instrumentation pass
38; CHECK-NEXT:       Insert stack protectors
39; CHECK-NEXT:       Module Verifier
40; CHECK-NEXT:       Analysis containing CSE Info
41; CHECK-NEXT:       IRTranslator
42; CHECK-NEXT:       Analysis for ComputingKnownBits
43; CHECK-NEXT:       AArch64O0PreLegalizerCombiner
44; CHECK-NEXT:       Localizer
45; CHECK-NEXT:       Analysis containing CSE Info
46; CHECK-NEXT:       Analysis for ComputingKnownBits
47; CHECK-NEXT:       Legalizer
48; CHECK-NEXT:       AArch64PostLegalizerLowering
49; CHECK-NEXT:       RegBankSelect
50; CHECK-NEXT:       Analysis for ComputingKnownBits
51; CHECK-NEXT:       InstructionSelect
52; CHECK-NEXT:       ResetMachineFunction
53; CHECK-NEXT:       Assignment Tracking Analysis
54; CHECK-NEXT:       AArch64 Instruction Selection
55; CHECK-NEXT:       Finalize ISel and expand pseudo-instructions
56; CHECK-NEXT:       Local Stack Slot Allocation
57; CHECK-NEXT:       Eliminate PHI nodes for register allocation
58; CHECK-NEXT:       Two-Address instruction pass
59; CHECK-NEXT:       Fast Register Allocator
60; CHECK-NEXT:       Remove Redundant DEBUG_VALUE analysis
61; CHECK-NEXT:       Fixup Statepoint Caller Saved
62; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
63; CHECK-NEXT:       Machine Optimization Remark Emitter
64; CHECK-NEXT:       Prologue/Epilogue Insertion & Frame Finalization
65; CHECK-NEXT:       Post-RA pseudo instruction expansion pass
66; CHECK-NEXT:       AArch64 pseudo instruction expansion pass
67; CHECK-NEXT:       Insert KCFI indirect call checks
68; CHECK-NEXT:       AArch64 speculation hardening pass
69; CHECK-NEXT:       Analyze Machine Code For Garbage Collection
70; CHECK-NEXT:       Insert fentry calls
71; CHECK-NEXT:       Insert XRay ops
72; CHECK-NEXT:       Implement the 'patchable-function' attribute
73; CHECK-NEXT:       Workaround A53 erratum 835769 pass
74; CHECK-NEXT:       Contiguously Lay Out Funclets
75; CHECK-NEXT:       Remove Loads Into Fake Uses
76; CHECK-NEXT:       StackMap Liveness Analysis
77; CHECK-NEXT:       Live DEBUG_VALUE analysis
78; CHECK-NEXT:       Machine Sanitizer Binary Metadata
79; CHECK-NEXT:       AArch64 sls hardening pass
80; CHECK-NEXT:       AArch64 Pointer Authentication
81; CHECK-NEXT:       AArch64 Branch Targets
82; CHECK-NEXT:       Branch relaxation pass
83; CHECK-NEXT:       Insert CFI remember/restore state instructions
84; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
85; CHECK-NEXT:       Machine Optimization Remark Emitter
86; CHECK-NEXT:       Stack Frame Layout Analysis
87; CHECK-NEXT:       Unpack machine instruction bundles
88; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
89; CHECK-NEXT:       Machine Optimization Remark Emitter
90; CHECK-NEXT:       AArch64 Assembly Printer
91; CHECK-NEXT:       Free MachineFunction
92
93define void @f() {
94  ret void
95}
96