xref: /llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll (revision 1e2f87868f6fb64179b02c1076c6b3cd26576907)
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