1; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 2; RUN: --debugify-and-strip-all-safe=0 \ 3; RUN: -verify-machineinstrs=0 -O0 \ 4; RUN: | FileCheck %s --check-prefixes=ENABLED,FALLBACK 5 6; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 7; RUN: --debugify-and-strip-all-safe=0 \ 8; RUN: -verify-machineinstrs -O0 \ 9; RUN: | FileCheck %s --check-prefixes=ENABLED,FALLBACK,VERIFY,VERIFY-O0 10 11; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 12; RUN: --debugify-and-strip-all-safe=0 \ 13; RUN: -verify-machineinstrs=0 -O0 -aarch64-enable-global-isel-at-O=0 -global-isel-abort=1 \ 14; RUN: | FileCheck %s --check-prefixes=ENABLED,NOFALLBACK 15 16; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 17; RUN: --debugify-and-strip-all-safe=0 \ 18; RUN: -verify-machineinstrs=0 -O0 -aarch64-enable-global-isel-at-O=0 -global-isel-abort=2 \ 19; RUN: | FileCheck %s --check-prefixes=ENABLED,FALLBACK 20 21; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 22; RUN: --debugify-and-strip-all-safe=0 \ 23; RUN: -verify-machineinstrs=0 -global-isel \ 24; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix NOFALLBACK --check-prefix ENABLED-O1 25 26; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 27; RUN: --debugify-and-strip-all-safe=0 \ 28; RUN: -verify-machineinstrs=0 -global-isel -global-isel-abort=2 \ 29; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix FALLBACK --check-prefix ENABLED-O1 30 31; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 32; RUN: --debugify-and-strip-all-safe=0 \ 33; RUN: -verify-machineinstrs=0 -O1 -aarch64-enable-global-isel-at-O=3 \ 34; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix ENABLED-O1 35 36; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 37; RUN: --debugify-and-strip-all-safe=0 \ 38; RUN: -verify-machineinstrs=0 -O1 -aarch64-enable-global-isel-at-O=0 \ 39; RUN: | FileCheck %s --check-prefix DISABLED 40 41; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 42; RUN: --debugify-and-strip-all-safe=0 \ 43; RUN: -verify-machineinstrs=0 -aarch64-enable-global-isel-at-O=-1 \ 44; RUN: | FileCheck %s --check-prefix DISABLED 45 46; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \ 47; RUN: --debugify-and-strip-all-safe=0 \ 48; RUN: -verify-machineinstrs=0 | FileCheck %s --check-prefix DISABLED 49 50; RUN: llc -mtriple=aarch64-- -fast-isel=0 -global-isel=false \ 51; RUN: --debugify-and-strip-all-safe=0 \ 52; RUN: -debug-pass=Structure %s -o /dev/null 2>&1 -verify-machineinstrs=0 \ 53; RUN: | FileCheck %s --check-prefix DISABLED 54 55; ENABLED: Safe Stack instrumentation pass 56 57; ENABLED-O1: Basic Alias Analysis (stateless AA impl) 58; ENABLED-O1-NEXT: Function Alias Analysis Results 59; ENABLED: IRTranslator 60; VERIFY-NEXT: Verify generated machine code 61; ENABLED-NEXT: Analysis for ComputingKnownBits 62; ENABLED-O1-NEXT: MachineDominator Tree Construction 63; ENABLED-O1-NEXT: Analysis containing CSE Info 64; ENABLED-O1-NEXT: PreLegalizerCombiner 65; ENABLED-O1-NEXT: Localizer 66; VERIFY-O0-NEXT: AArch64O0PreLegalizerCombiner 67; VERIFY-NEXT: Verify generated machine code 68; ENABLED-O1-NEXT: LoadStoreOpt 69; ENABLED-O1-NEXT: Analysis containing CSE Info 70; ENABLED: Legalizer 71; VERIFY-NEXT: Verify generated machine code 72; ENABLED: RegBankSelect 73; VERIFY-NEXT: Verify generated machine code 74; ENABLED-NEXT: Analysis for ComputingKnownBits 75; ENABLED-O1-NEXT: Lazy Branch Probability Analysis 76; ENABLED-O1-NEXT: Lazy Block Frequency Analysis 77; ENABLED-NEXT: InstructionSelect 78; ENABLED-O1-NEXT: AArch64 Post Select Optimizer 79; VERIFY-NEXT: Verify generated machine code 80; ENABLED-NEXT: ResetMachineFunction 81 82; FALLBACK: AArch64 Instruction Selection 83; NOFALLBACK-NOT: AArch64 Instruction Selection 84 85; DISABLED-NOT: IRTranslator 86 87; DISABLED: AArch64 Instruction Selection 88; DISABLED: Finalize ISel and expand pseudo-instructions 89 90define void @empty() { 91 ret void 92} 93