2017-03-02 07:33:08 +08:00
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs=0 -O0 \
|
|
|
|
; RUN: | FileCheck %s --check-prefixes=ENABLED,ENABLED-O0,FALLBACK
|
2018-01-03 00:30:47 +08:00
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs -O0 \
|
|
|
|
; RUN: | FileCheck %s --check-prefixes=ENABLED,ENABLED-O0,FALLBACK,VERIFY,VERIFY-O0
|
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
|
|
|
; RUN: -verify-machineinstrs=0 -O0 -aarch64-enable-global-isel-at-O=0 -global-isel-abort=1 \
|
2017-05-27 09:34:07 +08:00
|
|
|
; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix ENABLED-O0 --check-prefix NOFALLBACK
|
2017-03-02 07:33:08 +08:00
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs=0 -O0 -aarch64-enable-global-isel-at-O=0 -global-isel-abort=2 \
|
2017-05-27 09:34:07 +08:00
|
|
|
; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix ENABLED-O0 --check-prefix FALLBACK
|
2017-03-02 07:33:08 +08:00
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs=0 -global-isel \
|
2017-03-02 07:33:08 +08:00
|
|
|
; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix NOFALLBACK
|
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs=0 -global-isel -global-isel-abort=2 \
|
2017-03-02 07:33:08 +08:00
|
|
|
; RUN: | FileCheck %s --check-prefix ENABLED --check-prefix FALLBACK
|
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs=0 -O1 -aarch64-enable-global-isel-at-O=3 \
|
2017-03-02 07:33:08 +08:00
|
|
|
; RUN: | FileCheck %s --check-prefix ENABLED
|
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs=0 -O1 -aarch64-enable-global-isel-at-O=0 \
|
2017-03-02 07:33:08 +08:00
|
|
|
; RUN: | FileCheck %s --check-prefix DISABLED
|
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs=0 -aarch64-enable-global-isel-at-O=-1 \
|
2017-03-02 07:33:08 +08:00
|
|
|
; RUN: | FileCheck %s --check-prefix DISABLED
|
|
|
|
|
|
|
|
; RUN: llc -mtriple=aarch64-- -debug-pass=Structure %s -o /dev/null 2>&1 \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -verify-machineinstrs=0 | FileCheck %s --check-prefix DISABLED
|
2017-03-02 07:33:08 +08:00
|
|
|
|
2018-01-18 09:10:30 +08:00
|
|
|
; RUN: llc -mtriple=aarch64-- -fast-isel=0 -global-isel=false \
|
2018-10-03 04:51:27 +08:00
|
|
|
; RUN: -debug-pass=Structure %s -o /dev/null 2>&1 -verify-machineinstrs=0 \
|
|
|
|
; RUN: | FileCheck %s --check-prefix DISABLED
|
2018-01-18 09:10:30 +08:00
|
|
|
|
2017-03-02 07:33:08 +08:00
|
|
|
; ENABLED: IRTranslator
|
2018-10-03 10:52:54 +08:00
|
|
|
; VERIFY-NEXT: Verify generated machine code
|
Re-commit: [globalisel] Add a combiner helpers for extending loads and use them in a pre-legalize combiner for AArch64
Summary: Depends on D45541
Reviewers: ab, aditya_nandakumar, bogner, rtereshin, volkan, rovka, javed.absar, aemerson
Subscribers: aemerson, rengolin, mgorny, javed.absar, kristof.beyls, llvm-commits
Differential Revision: https://reviews.llvm.org/D45543
The previous commit failed portions of the test-suite on GreenDragon due to
duplicate COPY instructions and iterator invalidation. Both issues have now
been fixed. To assist with this, a helper (cloneVirtualRegister) has been added
to MachineRegisterInfo that can be used to get another register that has the same
type and class/bank as an existing one.
llvm-svn: 343654
2018-10-03 10:12:17 +08:00
|
|
|
; ENABLED-NEXT: PreLegalizerCombiner
|
2018-10-03 04:51:27 +08:00
|
|
|
; VERIFY-NEXT: Verify generated machine code
|
2017-03-02 07:33:08 +08:00
|
|
|
; ENABLED-NEXT: Legalizer
|
2018-10-03 04:51:27 +08:00
|
|
|
; VERIFY-NEXT: Verify generated machine code
|
2017-03-02 07:33:08 +08:00
|
|
|
; ENABLED-NEXT: RegBankSelect
|
2018-10-03 04:51:27 +08:00
|
|
|
; VERIFY-NEXT: Verify generated machine code
|
2017-05-27 09:34:07 +08:00
|
|
|
; ENABLED-O0-NEXT: Localizer
|
2018-10-03 04:51:27 +08:00
|
|
|
; VERIFY-O0-NEXT: Verify generated machine code
|
2017-03-02 07:33:08 +08:00
|
|
|
; ENABLED-NEXT: InstructionSelect
|
2018-10-03 04:51:27 +08:00
|
|
|
; VERIFY-NEXT: Verify generated machine code
|
2017-03-02 07:33:08 +08:00
|
|
|
; ENABLED-NEXT: ResetMachineFunction
|
|
|
|
|
|
|
|
; FALLBACK: AArch64 Instruction Selection
|
|
|
|
; NOFALLBACK-NOT: AArch64 Instruction Selection
|
|
|
|
|
|
|
|
; DISABLED-NOT: IRTranslator
|
|
|
|
|
|
|
|
; DISABLED: AArch64 Instruction Selection
|
|
|
|
; DISABLED: Expand ISel Pseudo-instructions
|
|
|
|
|
|
|
|
define void @empty() {
|
|
|
|
ret void
|
|
|
|
}
|