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