[RISCV] Add shrinkwrap test cases showing gaps in current impl
[llvm-project.git] / llvm / test / CodeGen / X86 / O0-pipeline.ll
blob4c99dd830b442ee47f01992001901761b4dcf488
1 ; When EXPENSIVE_CHECKS are enabled, the machine verifier appears between each
2 ; pass. Ignore it with 'grep -v'.
3 ; RUN: llc -mtriple=x86_64-- -O0 -debug-pass=Structure < %s -o /dev/null 2>&1 \
4 ; RUN:   | grep -v 'Verify generated machine code' | FileCheck %s
6 ; REQUIRES: asserts
8 ; CHECK-LABEL: Pass Arguments:
9 ; CHECK-NEXT: Target Library Information
10 ; CHECK-NEXT: Target Pass Configuration
11 ; CHECK-NEXT: Machine Module Information
12 ; CHECK-NEXT: Target Transform Information
13 ; CHECK-NEXT: Create Garbage Collector Module Metadata
14 ; CHECK-NEXT: Assumption Cache Tracker
15 ; CHECK-NEXT: Profile summary info
16 ; CHECK-NEXT: Machine Branch Probability Analysis
17 ; CHECK-NEXT:   ModulePass Manager
18 ; CHECK-NEXT:     Pre-ISel Intrinsic Lowering
19 ; CHECK-NEXT:     FunctionPass Manager
20 ; CHECK-NEXT:       Expand large div/rem
21 ; CHECK-NEXT:       Expand large fp convert
22 ; CHECK-NEXT:       Expand Atomic instructions
23 ; CHECK-NEXT:       Lower AMX intrinsics
24 ; CHECK-NEXT:       Lower AMX type for load/store
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:       Expand indirectbr instructions
33 ; CHECK-NEXT:       Exception handling preparation
34 ; CHECK-NEXT:       Prepare callbr
35 ; CHECK-NEXT:       Safe Stack instrumentation pass
36 ; CHECK-NEXT:       Insert stack protectors
37 ; CHECK-NEXT:       Module Verifier
38 ; CHECK-NEXT:       Assignment Tracking Analysis
39 ; CHECK-NEXT:       X86 DAG->DAG Instruction Selection
40 ; CHECK-NEXT:       X86 PIC Global Base Reg Initialization
41 ; CHECK-NEXT:       Argument Stack Rebase
42 ; CHECK-NEXT:       Finalize ISel and expand pseudo-instructions
43 ; CHECK-NEXT:       Local Stack Slot Allocation
44 ; CHECK-NEXT:       X86 speculative load hardening
45 ; CHECK-NEXT:       X86 EFLAGS copy lowering
46 ; CHECK-NEXT:       X86 DynAlloca Expander
47 ; CHECK-NEXT:       Fast Tile Register Preconfigure
48 ; CHECK-NEXT:       Eliminate PHI nodes for register allocation
49 ; CHECK-NEXT:       Two-Address instruction pass
50 ; CHECK-NEXT:       Fast Register Allocator
51 ; CHECK-NEXT:       Fast Tile Register Configure
52 ; CHECK-NEXT:       X86 Lower Tile Copy
53 ; CHECK-NEXT:       Bundle Machine CFG Edges
54 ; CHECK-NEXT:       X86 FP Stackifier
55 ; CHECK-NEXT:       Remove Redundant DEBUG_VALUE analysis
56 ; CHECK-NEXT:       Fixup Statepoint Caller Saved
57 ; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
58 ; CHECK-NEXT:       Machine Optimization Remark Emitter
59 ; CHECK-NEXT:       Prologue/Epilogue Insertion & Frame Finalization
60 ; CHECK-NEXT:       Post-RA pseudo instruction expansion pass
61 ; CHECK-NEXT:       X86 pseudo instruction expansion pass
62 ; CHECK-NEXT:       Insert KCFI indirect call checks
63 ; CHECK-NEXT:       Analyze Machine Code For Garbage Collection
64 ; CHECK-NEXT:       Insert fentry calls
65 ; CHECK-NEXT:       Insert XRay ops
66 ; CHECK-NEXT:       Implement the 'patchable-function' attribute
67 ; CHECK-NEXT:       X86 Indirect Branch Tracking
68 ; CHECK-NEXT:       X86 vzeroupper inserter
69 ; CHECK-NEXT:       Compressing EVEX instrs when possible
70 ; CHECK-NEXT:       X86 Discriminate Memory Operands
71 ; CHECK-NEXT:       X86 Insert Cache Prefetches
72 ; CHECK-NEXT:       X86 insert wait instruction
73 ; CHECK-NEXT:       Contiguously Lay Out Funclets
74 ; CHECK-NEXT:       Remove Loads Into Fake Uses
75 ; CHECK-NEXT:       StackMap Liveness Analysis
76 ; CHECK-NEXT:       Live DEBUG_VALUE analysis
77 ; CHECK-NEXT:       Machine Sanitizer Binary Metadata
78 ; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
79 ; CHECK-NEXT:       Machine Optimization Remark Emitter
80 ; CHECK-NEXT:       Stack Frame Layout Analysis
81 ; CHECK-NEXT:       X86 Speculative Execution Side Effect Suppression
82 ; CHECK-NEXT:       X86 Indirect Thunks
83 ; CHECK-NEXT:       X86 Return Thunks
84 ; CHECK-NEXT:       Check CFA info and insert CFI instructions if needed
85 ; CHECK-NEXT:       X86 Load Value Injection (LVI) Ret-Hardening
86 ; CHECK-NEXT:       Pseudo Probe Inserter
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:       X86 Assembly Printer
91 ; CHECK-NEXT:       Free MachineFunction
93 define void @f() {
94   ret void