llvm-project/llvm/lib
Geoff Berry d46b6e8096 [AArch64] Fold some filled/spilled subreg COPYs
Summary:
Extend AArch64 foldMemoryOperandImpl() to handle folding spills of
subreg COPYs with read-undef defs like:

  %vreg0:sub_32<def,read-undef> = COPY %WZR; GPR64:%vreg0

by widening the spilled physical source reg and generating:

  STRXui %XZR <fi#0>

as well as folding fills of similar COPYs like:

  %vreg0:sub_32<def,read-undef> = COPY %vreg1; GPR64:%vreg0, GPR32:%vreg1

by generating:

  %vreg0:sub_32<def,read-undef> = LDRWui <fi#0>

Reviewers: MatzeB, qcolombet

Subscribers: aemerson, rengolin, mcrosier, llvm-commits

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

llvm-svn: 291180
2017-01-05 21:51:42 +00:00
..
Analysis ThinLTO: add early "dead-stripping" on the Index 2017-01-05 21:34:18 +00:00
AsmParser ASMParser: use range-based for loops (NFC) 2016-12-27 18:35:22 +00:00
Bitcode ThinLTO: add early "dead-stripping" on the Index 2017-01-05 21:34:18 +00:00
CodeGen PR 31534: When emitting both DWARF unwind tables and debug information, 2017-01-05 20:55:28 +00:00
DebugInfo [cmake] Add LLVM_ENABLE_DIA_SDK option, and expose it in LLVMConfig 2017-01-02 18:19:35 +00:00
Demangle Demangle: remove references to allocator for default allocator 2016-11-20 00:20:27 +00:00
ExecutionEngine [ExecutionEngine] Fix compile errors in OProfileJITEventListener. 2017-01-03 21:39:43 +00:00
Fuzzer [libFuzzer] use /tmp (or $TMPDIR, if present) to store temp files during merge 2017-01-05 04:32:19 +00:00
IR [AVX-512] Remove vinsert intrinsics and autoupgrade to native shufflevectors. There are some codegen problems here that I'll try to fix in future commits. 2017-01-03 05:45:57 +00:00
IRReader Timer: Track name and description. 2016-11-18 19:43:18 +00:00
LTO ThinLTO: add early "dead-stripping" on the Index 2017-01-05 21:34:18 +00:00
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
LineEditor
Linker [ThinLTO] Import only necessary DICompileUnit fields 2016-12-12 16:09:30 +00:00
MC Reapply "[CodeGen] Fix invalid DWARF info on Win64" 2017-01-02 03:00:19 +00:00
Object Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
ObjectYAML [ObjectYAML] Support for DWARF debug_info section 2016-12-22 22:44:27 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [PM] Introduce a devirtualization iteration layer for the new PM. 2016-12-28 11:07:33 +00:00
ProfileData Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
Support Typo 2017-01-05 17:59:22 +00:00
TableGen [Hexagon, TableGen] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-04 02:02:05 +00:00
Target [AArch64] Fold some filled/spilled subreg COPYs 2017-01-05 21:51:42 +00:00
Transforms Fix typo. NFC 2017-01-05 21:40:08 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00