1 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
2 ; RUN: -verify-machineinstrs=0 -O0 \
3 ; RUN: | FileCheck %s --check-prefixes=ENABLED,ENABLED-O0,FALLBACK
5 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
6 ; RUN: -verify-machineinstrs -O0 \
7 ; RUN: | FileCheck %s --check-prefixes=ENABLED,ENABLED-O0,FALLBACK,VERIFY,VERIFY-O0
9 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
10 ; RUN: -verify-machineinstrs=0 -O0 -aarch64-enable-global-isel-at-O=0 -global-isel-abort=1 \
11 ; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix ENABLED-O0 --check-prefix NOFALLBACK
13 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
14 ; RUN: -verify-machineinstrs=0 -O0 -aarch64-enable-global-isel-at-O=0 -global-isel-abort=2 \
15 ; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix ENABLED-O0 --check-prefix FALLBACK
17 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
18 ; RUN: -verify-machineinstrs=0 -global-isel \
19 ; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix NOFALLBACK --check-prefix ENABLED-O1
21 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
22 ; RUN: -verify-machineinstrs=0 -global-isel -global-isel-abort=2 \
23 ; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix FALLBACK --check-prefix ENABLED-O1
25 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
26 ; RUN: -verify-machineinstrs=0 -O1 -aarch64-enable-global-isel-at-O=3 \
27 ; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix ENABLED-O1
29 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
30 ; RUN: -verify-machineinstrs=0 -O1 -aarch64-enable-global-isel-at-O=0 \
31 ; RUN: | FileCheck %s --check-prefix DISABLED
33 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
34 ; RUN: -verify-machineinstrs=0 -aarch64-enable-global-isel-at-O=-1 \
35 ; RUN: | FileCheck %s --check-prefix DISABLED
37 ; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
38 ; RUN: -verify-machineinstrs=0 | FileCheck %s --check-prefix DISABLED
40 ; RUN: llc -mtriple=aarch64-- -fast-isel=0 -global-isel=false \
41 ; RUN: -debug-pass=Structure %s -o /dev/null 2>&1 -verify-machineinstrs=0 \
42 ; RUN: | FileCheck %s --check-prefix DISABLED
44 ; ENABLED: IRTranslator
45 ; VERIFY-NEXT: Verify generated machine code
46 ; ENABLED-NEXT: Analysis for ComputingKnownBits
47 ; ENABLED-O1-NEXT: MachineDominator Tree Construction
48 ; ENABLED-NEXT: PreLegalizerCombiner
49 ; VERIFY-NEXT: Verify generated machine code
50 ; ENABLED-NEXT: Analysis containing CSE Info
51 ; ENABLED-NEXT: Legalizer
52 ; VERIFY-NEXT: Verify generated machine code
53 ; ENABLED-NEXT: RegBankSelect
54 ; VERIFY-NEXT: Verify generated machine code
55 ; ENABLED-NEXT: Localizer
56 ; VERIFY-O0-NEXT: Verify generated machine code
57 ; ENABLED-NEXT: Analysis for ComputingKnownBits
58 ; ENABLED-NEXT: InstructionSelect
59 ; VERIFY-NEXT: Verify generated machine code
60 ; ENABLED-NEXT: ResetMachineFunction
62 ; FALLBACK: AArch64 Instruction Selection
63 ; NOFALLBACK-NOT: AArch64 Instruction Selection
65 ; DISABLED-NOT: IRTranslator
67 ; DISABLED: AArch64 Instruction Selection
68 ; DISABLED: Finalize ISel and expand pseudo-instructions
70 define void @empty() {