74 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: llc -mtriple=x86_64-- -O0 -debug-pass=Structure < %s -o /dev/null 2>&1 | 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: Type-Based Alias Analysis
 | |
| ; CHECK-NEXT: Scoped NoAlias Alias Analysis
 | |
| ; CHECK-NEXT: Assumption Cache Tracker
 | |
| ; CHECK-NEXT: Create Garbage Collector Module Metadata
 | |
| ; CHECK-NEXT: Machine Branch Probability Analysis
 | |
| ; CHECK-NEXT:   ModulePass Manager
 | |
| ; CHECK-NEXT:     Pre-ISel Intrinsic Lowering
 | |
| ; CHECK-NEXT:     FunctionPass Manager
 | |
| ; CHECK-NEXT:       Expand Atomic instructions
 | |
| ; CHECK-NEXT:       Dominator Tree Construction
 | |
| ; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)
 | |
| ; 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:       Expand indirectbr instructions
 | |
| ; CHECK-NEXT:     Rewrite Symbols
 | |
| ; CHECK-NEXT:     FunctionPass Manager
 | |
| ; CHECK-NEXT:       Dominator Tree Construction
 | |
| ; CHECK-NEXT:       Exception handling preparation
 | |
| ; CHECK-NEXT:       Safe Stack instrumentation pass
 | |
| ; CHECK-NEXT:       Insert stack protectors
 | |
| ; CHECK-NEXT:       Module Verifier
 | |
| ; CHECK-NEXT:       X86 DAG->DAG Instruction Selection
 | |
| ; CHECK-NEXT:       X86 PIC Global Base Reg Initialization
 | |
| ; CHECK-NEXT:       Expand ISel Pseudo-instructions
 | |
| ; CHECK-NEXT:       Local Stack Slot Allocation
 | |
| ; CHECK-NEXT:       X86 speculative load hardening
 | |
| ; CHECK-NEXT:       MachineDominator Tree Construction
 | |
| ; CHECK-NEXT:       X86 EFLAGS copy lowering
 | |
| ; CHECK-NEXT:       X86 WinAlloca Expander
 | |
| ; CHECK-NEXT:       Eliminate PHI nodes for register allocation
 | |
| ; CHECK-NEXT:       Two-Address instruction pass
 | |
| ; CHECK-NEXT:       Fast Register Allocator
 | |
| ; CHECK-NEXT:       Bundle Machine CFG Edges
 | |
| ; CHECK-NEXT:       X86 FP Stackifier
 | |
| ; 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:       X86 pseudo instruction expansion pass
 | |
| ; CHECK-NEXT:       Analyze Machine Code For Garbage Collection
 | |
| ; CHECK-NEXT:       Shadow Call Stack
 | |
| ; CHECK-NEXT:       X86 Indirect Branch Tracking
 | |
| ; CHECK-NEXT:       X86 vzeroupper inserter
 | |
| ; CHECK-NEXT:       Contiguously Lay Out Funclets
 | |
| ; CHECK-NEXT:       StackMap Liveness Analysis
 | |
| ; CHECK-NEXT:       Live DEBUG_VALUE analysis
 | |
| ; CHECK-NEXT:       Insert fentry calls
 | |
| ; CHECK-NEXT:       Insert XRay ops
 | |
| ; CHECK-NEXT:       Implement the 'patchable-function' attribute
 | |
| ; CHECK-NEXT:       X86 Retpoline Thunks
 | |
| ; CHECK-NEXT:       Check CFA info and insert CFI instructions if needed
 | |
| ; CHECK-NEXT:       Lazy Machine Block Frequency Analysis
 | |
| ; CHECK-NEXT:       Machine Optimization Remark Emitter
 | |
| ; CHECK-NEXT:       X86 Assembly Printer
 | |
| ; CHECK-NEXT:       Free MachineFunction
 | |
| 
 | |
| define void @f() {
 | |
|   ret void
 | |
| }
 |