llvm-project/llvm/test/CodeGen
Sander de Smalen 0c5a29b6be [AArch64][TableGen] Skip tied result operands for InstAlias
Summary:
This patch fixes an issue so that the right alias is printed when the instruction has tied operands. It checks the number of operands in the resulting instruction as opposed to the alias, and then skips over tied operands that should not be printed in the alias.

This allows to generate the preferred assembly syntax for the AArch64 'ins' instruction, which should always be displayed as 'mov' according to the ARM Architecture Reference Manual. Several unit tests have changed as a result, but only to reflect the preferred disassembly. Some other InstAlias patterns (movk/bic/orr) needed a slight adjustment to stop them becoming the default and breaking other unit tests.

Please note that the patch is mostly the same as https://reviews.llvm.org/D29219 which was reverted because of an issue found when running TableGen with the Address Sanitizer. That issue has been addressed in this iteration of the patch.


Reviewers: rengolin, stoklund, huntergr, SjoerdMeijer, rovka

Reviewed By: rengolin, SjoerdMeijer

Subscribers: fhahn, aemerson, javed.absar, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D40030

llvm-svn: 318650
2017-11-20 14:36:40 +00:00
..
AArch64 [AArch64][TableGen] Skip tied result operands for InstAlias 2017-11-20 14:36:40 +00:00
AMDGPU AMDGPU: Partial ILP scheduler port from SelectionDAG to SchedulingDAG (experimental) 2017-11-20 14:35:53 +00:00
ARC
ARM [ARM GlobalISel] Add test for RSBri. NFC 2017-11-20 11:05:31 +00:00
AVR [AVR] Remove the select-mbb-placement-bug.ll test 2017-11-14 04:32:49 +00:00
BPF [bpf] allow direct and indirect calls 2017-11-19 01:35:00 +00:00
Generic [CodeGen] Peel off the dominant case in switch statement in lowering 2017-11-14 21:44:09 +00:00
Hexagon [Hexagon] Prefer L2_loadrub_io over L4_loadrub_rr 2017-11-02 21:56:59 +00:00
Inputs
Lanai MIR: Print the register class or bank in vreg defs 2017-10-24 18:04:54 +00:00
MIR [MIRPrinter] Use %subreg.xxx syntax for subregister index operands 2017-11-06 21:46:06 +00:00
MSP430
Mips [mips] Improve genConstMult() to work with arbitrary precision 2017-11-15 15:24:04 +00:00
NVPTX [NVPTX] Implement __nvvm_atom_add_gen_d builtin. 2017-11-07 22:10:54 +00:00
Nios2
PowerPC [PPC] Change i32 constant in store instruction to i64 2017-11-16 18:27:34 +00:00
RISCV [RISCV] Re-generate test/CodeGen/RISCV/alu32.ll using update_llc_test_checks.py 2017-11-09 15:45:42 +00:00
SPARC Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-10-03 16:59:13 +00:00
SystemZ [CodeGen] Peel off the dominant case in switch statement in lowering 2017-11-14 21:44:09 +00:00
Thumb [ARM] Fix incorrect conversion of a tail call to an ordinary call 2017-11-14 10:36:52 +00:00
Thumb2 [arm] Fix Unnecessary reloads from GOT. 2017-11-13 20:45:38 +00:00
WebAssembly [WebAssembly] Update cfg-stackify.ll to remove the workaround added in r318288. 2017-11-15 21:38:33 +00:00
WinEH Make x86 __ehhandler comdat if parent function is 2017-10-20 17:04:43 +00:00
X86 [LV][X86] Support of AVX2 Gathers code generation and update the LV with this 2017-11-20 08:18:12 +00:00
XCore [MC] Suppress .Lcfi labels when emitting textual assembly 2017-10-10 00:57:36 +00:00