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,ENABLED-O0,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,ENABLED-O0,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-prefix ENABLED --check-prefix ENABLED-O0 --check-prefix 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-prefix ENABLED --check-prefix ENABLED-O0 --check-prefix 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: IRTranslator 56; VERIFY-NEXT: Verify generated machine code 57; ENABLED-NEXT: Analysis for ComputingKnownBits 58; ENABLED-O1-NEXT: MachineDominator Tree Construction 59; ENABLED-NEXT: PreLegalizerCombiner 60; VERIFY-NEXT: Verify generated machine code 61; ENABLED-NEXT: Analysis containing CSE Info 62; ENABLED-NEXT: Legalizer 63; VERIFY-NEXT: Verify generated machine code 64; ENABLED: RegBankSelect 65; VERIFY-NEXT: Verify generated machine code 66; ENABLED-NEXT: Localizer 67; VERIFY-O0-NEXT: Verify generated machine code 68; ENABLED-NEXT: Analysis for ComputingKnownBits 69; ENABLED-NEXT: InstructionSelect 70; ENABLED-O1-NEXT: AArch64 Post Select Optimizer 71; VERIFY-NEXT: Verify generated machine code 72; ENABLED-NEXT: ResetMachineFunction 73 74; FALLBACK: AArch64 Instruction Selection 75; NOFALLBACK-NOT: AArch64 Instruction Selection 76 77; DISABLED-NOT: IRTranslator 78 79; DISABLED: AArch64 Instruction Selection 80; DISABLED: Finalize ISel and expand pseudo-instructions 81 82define void @empty() { 83 ret void 84} 85