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
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
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
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
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
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
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
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
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
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
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
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-O1-NEXT: Analysis containing CSE Info
60 ; ENABLED-O1-NEXT: PreLegalizerCombiner
61 ; VERIFY-O0-NEXT: AArch64O0PreLegalizerCombiner
62 ; VERIFY-NEXT: Verify generated machine code
63 ; VERIFY-O0-NEXT: Analysis containing CSE Info
64 ; ENABLED-NEXT: Legalizer
65 ; VERIFY-NEXT: Verify generated machine code
66 ; ENABLED: RegBankSelect
67 ; VERIFY-NEXT: Verify generated machine code
68 ; ENABLED-NEXT: Localizer
69 ; VERIFY-O0-NEXT: Verify generated machine code
70 ; ENABLED-O1-NEXT: Analysis for ComputingKnownBits
71 ; ENABLED-O1-NEXT: Lazy Branch Probability Analysis
72 ; ENABLED-O1-NEXT: Lazy Block Frequency Analysis
73 ; ENABLED-NEXT: InstructionSelect
74 ; ENABLED-O1-NEXT: AArch64 Post Select Optimizer
75 ; VERIFY-NEXT: Verify generated machine code
76 ; ENABLED-NEXT: ResetMachineFunction
78 ; FALLBACK: AArch64 Instruction Selection
79 ; NOFALLBACK-NOT: AArch64 Instruction Selection
81 ; DISABLED-NOT: IRTranslator
83 ; DISABLED: AArch64 Instruction Selection
84 ; DISABLED: Finalize ISel and expand pseudo-instructions
86 define void @empty() {