llvm-project/llvm/test/CodeGen/AArch64/GlobalISel
Daniel Sanders d66e0901ae [globalisel][tablegen] Import stores and allow GISel to automatically substitute zero regs like WZR/XZR/$zero.
This patch enables the import of stores. Unfortunately, doing so by itself,
loses an optimization where storing 0 to memory makes use of WZR/XZR.

To mitigate this, this patch also introduces a new feature that allows register
operands to nominate a zero register. When this is done, GlobalISel will
substitute (G_CONSTANT 0) with the nominated register automatically. This
is currently configured to only apply to the stores.

Applying it to GPR32/GPR64 register classes in general will be done after
review see (https://reviews.llvm.org/D39150).

llvm-svn: 316360
2017-10-23 18:19:24 +00:00
..
arm64-callingconv-ios.ll GlobalISel: correctly handle varargs 2017-01-17 22:30:10 +00:00
arm64-callingconv.ll [GISel]: Fix generation of illegal COPYs during CallLowering 2017-10-09 20:07:43 +00:00
arm64-fallback.ll [GISel]: Fix generation of illegal COPYs during CallLowering 2017-10-09 20:07:43 +00:00
arm64-irtranslator-stackprotect.ll [Improve CodeGen Testing] This patch renables MIRPrinter print fields which have value equal to its default. 2017-06-06 08:16:19 +00:00
arm64-irtranslator.ll [GISel]: Fix generation of illegal COPYs during CallLowering 2017-10-09 20:07:43 +00:00
arm64-regbankselect.mir Re-apply [AArch64][RegisterBankInfo] Use the statically computed mappings for COPY 2017-10-16 22:28:40 +00:00
call-translator-ios.ll GlobalISel (AArch64): fix ABI at border between GPRs and SP. 2017-08-21 21:56:11 +00:00
call-translator.ll [GISel]: Fix generation of illegal COPYs during CallLowering 2017-10-09 20:07:43 +00:00
combine-anyext-crash.mir [GlobalISel] Fix legalizer trying to process a deleted instruction. 2017-10-06 19:24:15 +00:00
debug-insts.ll MIR: Serialize CaleeSavedInfo Restored flag 2017-09-28 18:52:14 +00:00
dynamic-alloca.ll [GlobalISel] Avoid translating synthetic constants to new G_CONSTANTS. 2017-03-15 19:21:11 +00:00
gisel-abort.ll Add -mtriple=aarch64-unknown to llvm/test/CodeGen/AArch64/GlobalISel/gisel-abort.ll. 2017-01-29 11:10:34 +00:00
gisel-commandline-option.ll [AArch64][GlobalISel] Add the Localizer pass for the O0 pipeline 2017-05-27 01:34:07 +00:00
gisel-fail-intermediate-legalizer.ll [GlobalISel]: Fix bug where we can report GISelFailure on erased instructions 2017-04-07 21:49:30 +00:00
inline-asm.ll GlobalISel: support trivial inlineasm calls. 2017-03-09 23:36:26 +00:00
irtranslator-bitcast.ll [GlobalISel] Avoid invalidating ValToVReg when translating no-op bitcast. 2017-03-07 20:53:06 +00:00
irtranslator-exceptions.ll GlobalISel: add G_IMPLICIT_DEF instruction. 2017-06-30 20:27:36 +00:00
legalize-add.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-and.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-cmp.mir [GISel]: Add a clean up combiner during legalization. 2017-08-30 19:32:59 +00:00
legalize-combines.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-constant.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-div.mir [GISel]: Add a clean up combiner during legalization. 2017-08-30 19:32:59 +00:00
legalize-exceptions.ll GlobalISel: verify that a COPY is trivial when created. 2017-06-27 21:41:40 +00:00
legalize-ext.mir MIRTests: Remove unnecessary 2>&1 redirection 2017-02-22 18:47:41 +00:00
legalize-extracts.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-fcmp.mir [GISel]: Support Widening G_ICMP's destination operand. 2017-07-31 17:00:16 +00:00
legalize-fneg.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-fptoi.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-gep.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-ignore-non-generic.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-inserts.mir GlobalISel: fix legalization of G_INSERT 2017-03-07 21:24:33 +00:00
legalize-itofp.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-load-store.mir [GISel]: Add a clean up combiner during legalization. 2017-08-30 19:32:59 +00:00
legalize-mul.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-nonpowerof2eltsvec.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-or.mir AArch64/GISel: Fix a couple of tests that were testing the wrong thing 2017-10-18 15:34:33 +00:00
legalize-phi.mir [AArch64][GlobalISel] Make G_PHI of p0 types legal. 2017-10-08 15:29:11 +00:00
legalize-pow.mir GlobalISel: inform FrameLowering when we emit a function call. 2017-03-09 22:00:39 +00:00
legalize-property.mir GlobalISel: rename legalizer components to match others. 2016-10-14 22:18:18 +00:00
legalize-rem.mir [GISel]: Add a clean up combiner during legalization. 2017-08-30 19:32:59 +00:00
legalize-shift.mir [GISel]: Add a clean up combiner during legalization. 2017-08-30 19:32:59 +00:00
legalize-simple.mir [AArch64][LegalizerInfo] Mark s128 G_BITCAST legal 2017-10-16 22:28:27 +00:00
legalize-sub.mir AArch64/GISel: Fix a couple of tests that were testing the wrong thing 2017-10-18 15:34:33 +00:00
legalize-undef.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
legalize-vaarg.mir MIRTests: Remove unnecessary 2>&1 redirection 2017-02-22 18:47:41 +00:00
legalize-xor.mir AArch64/GISel: Fix a couple of tests that were testing the wrong thing 2017-10-18 15:34:33 +00:00
lit.local.cfg
localizer-in-O0-pipeline.mir [Improve CodeGen Testing] This patch renables MIRPrinter print fields which have value equal to its default. 2017-06-06 08:16:19 +00:00
localizer.mir AArch64/GISel: Modernize the localizer test 2017-10-18 23:26:24 +00:00
no-regclass.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
reg-bank-128bit.mir Move unit test to the proper location 2017-08-03 21:07:12 +00:00
regbankselect-dbg-value.mir Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
regbankselect-default.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
regbankselect-reg_sequence.mir [RegBankSelect] Support REG_SEQUENCE for generic mapping 2017-04-01 01:26:14 +00:00
select-binop.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-bitcast.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-br.mir [GlobalISel][AArch64] Split out select tests. NFC. 2017-03-15 16:29:37 +00:00
select-bswap.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-cbz.mir [GISel]: Support Widening G_ICMP's destination operand. 2017-07-31 17:00:16 +00:00
select-constant.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
select-dbg-value.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
select-fma.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-fp-casts.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-imm.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-implicit-def.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-insert-extract.mir Recommit: GlobalISel: select G_EXTRACT and G_INSERT instructions on AArch64. 2017-07-20 22:58:38 +00:00
select-int-ext.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-int-ptr-casts.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-intrinsic-aarch64-hint.mir [globalisel] Add support for intrinsic_void 2017-09-19 13:23:01 +00:00
select-intrinsic-aarch64-sdiv.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-load.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-muladd.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-neon-vcvtfxu2fp.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-phi.mir [AArch64][GlobalISel] Add a test case for G_PHI of p0 instruction selection. 2017-10-08 15:29:35 +00:00
select-pr32733.mir Canonicalize a large number of mir tests using update_mir_test_checks 2017-10-18 23:18:12 +00:00
select-property.mir [GlobalISel][AArch64] Split out select tests. NFC. 2017-03-15 16:29:37 +00:00
select-store.mir [globalisel][tablegen] Import stores and allow GISel to automatically substitute zero regs like WZR/XZR/$zero. 2017-10-23 18:19:24 +00:00
select-trunc.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select-xor.mir GISel: Canonicalize select tests using update_mir_test_checks 2017-10-18 23:33:31 +00:00
select.mir [GISel]: Support Widening G_ICMP's destination operand. 2017-07-31 17:00:16 +00:00
translate-gep.ll [GlobalISel] Avoid translating synthetic constants to new G_CONSTANTS. 2017-03-15 19:21:11 +00:00
varargs-ios-translator.ll [Improve CodeGen Testing] This patch renables MIRPrinter print fields which have value equal to its default. 2017-06-06 08:16:19 +00:00
vastart.ll GlobalISel: translate @llvm.va_start intrinsic. 2017-02-08 17:57:20 +00:00
verify-regbankselected.mir
verify-selected.mir