96 lines · plain
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 %s3 4; REQUIRES: asserts5 6; CHECK-LABEL: Pass Arguments:7; CHECK-NEXT: Target Library Information8; CHECK-NEXT: Target Pass Configuration9; CHECK-NEXT: Machine Module Information10; CHECK-NEXT: Target Transform Information11; CHECK-NEXT: Create Garbage Collector Module Metadata12; CHECK-NEXT: Profile summary info13; CHECK-NEXT: Assumption Cache Tracker14; CHECK-NEXT: Machine Branch Probability Analysis15; CHECK-NEXT: ModulePass Manager16; CHECK-NEXT: Pre-ISel Intrinsic Lowering17; CHECK-NEXT: FunctionPass Manager18; CHECK-NEXT: Expand large div/rem19; CHECK-NEXT: Expand fp20; CHECK-NEXT: Expand Atomic instructions21; CHECK-NEXT: Module Verifier22; CHECK-NEXT: Lower Garbage Collection Instructions23; CHECK-NEXT: Shadow Stack GC Lowering24; CHECK-NEXT: Remove unreachable blocks from the CFG25; CHECK-NEXT: Instrument function entry/exit with calls to e.g. mcount() (post inlining)26; CHECK-NEXT: Scalarize Masked Memory Intrinsics27; CHECK-NEXT: Expand reduction intrinsics28; CHECK-NEXT: Dominator Tree Construction29; CHECK-NEXT: Natural Loop Information30; CHECK-NEXT: Lazy Branch Probability Analysis31; CHECK-NEXT: Lazy Block Frequency Analysis32; CHECK-NEXT: Optimization Remark Emitter33; CHECK-NEXT: AArch64 Stack Tagging34; CHECK-NEXT: SME ABI Pass35; CHECK-NEXT: Exception handling preparation36; CHECK-NEXT: Prepare callbr37; CHECK-NEXT: Safe Stack instrumentation pass38; CHECK-NEXT: Insert stack protectors39; CHECK-NEXT: Module Verifier40; CHECK-NEXT: Analysis containing CSE Info41; CHECK-NEXT: IRTranslator42; CHECK-NEXT: Analysis for ComputingKnownBits43; CHECK-NEXT: AArch64O0PreLegalizerCombiner44; CHECK-NEXT: Localizer45; CHECK-NEXT: Analysis containing CSE Info46; CHECK-NEXT: Analysis for ComputingKnownBits47; CHECK-NEXT: Legalizer48; CHECK-NEXT: AArch64PostLegalizerLowering49; CHECK-NEXT: RegBankSelect50; CHECK-NEXT: Analysis for ComputingKnownBits51; CHECK-NEXT: InstructionSelect52; CHECK-NEXT: ResetMachineFunction53; CHECK-NEXT: Assignment Tracking Analysis54; CHECK-NEXT: AArch64 Instruction Selection55; CHECK-NEXT: Finalize ISel and expand pseudo-instructions56; CHECK-NEXT: Local Stack Slot Allocation57; CHECK-NEXT: Eliminate PHI nodes for register allocation58; CHECK-NEXT: Two-Address instruction pass59; CHECK-NEXT: Fast Register Allocator60; CHECK-NEXT: Remove Redundant DEBUG_VALUE analysis61; CHECK-NEXT: Fixup Statepoint Caller Saved62; CHECK-NEXT: Lazy Machine Block Frequency Analysis63; CHECK-NEXT: Machine Optimization Remark Emitter64; CHECK-NEXT: Prologue/Epilogue Insertion & Frame Finalization65; CHECK-NEXT: Post-RA pseudo instruction expansion pass66; CHECK-NEXT: AArch64 pseudo instruction expansion pass67; CHECK-NEXT: Insert KCFI indirect call checks68; CHECK-NEXT: AArch64 speculation hardening pass69; CHECK-NEXT: Analyze Machine Code For Garbage Collection70; CHECK-NEXT: Insert fentry calls71; CHECK-NEXT: Insert XRay ops72; CHECK-NEXT: Implement the 'patchable-function' attribute73; CHECK-NEXT: Workaround A53 erratum 835769 pass74; CHECK-NEXT: Contiguously Lay Out Funclets75; CHECK-NEXT: Remove Loads Into Fake Uses76; CHECK-NEXT: StackMap Liveness Analysis77; CHECK-NEXT: Live DEBUG_VALUE analysis78; CHECK-NEXT: Machine Sanitizer Binary Metadata79; CHECK-NEXT: AArch64 sls hardening pass80; CHECK-NEXT: AArch64 Pointer Authentication81; CHECK-NEXT: AArch64 Branch Targets82; CHECK-NEXT: Branch relaxation pass83; CHECK-NEXT: Insert CFI remember/restore state instructions84; CHECK-NEXT: Lazy Machine Block Frequency Analysis85; CHECK-NEXT: Machine Optimization Remark Emitter86; CHECK-NEXT: Stack Frame Layout Analysis87; CHECK-NEXT: Unpack machine instruction bundles88; CHECK-NEXT: Lazy Machine Block Frequency Analysis89; CHECK-NEXT: Machine Optimization Remark Emitter90; CHECK-NEXT: AArch64 Assembly Printer91; CHECK-NEXT: Free MachineFunction92 93define void @f() {94 ret void95}96