llvm/test/CodeGen
Geoff Berry 6b494b30f2 [AArch64] Extend AArch64RedundantCopyElimination to do simple copy propagation.
Summary:
Extend AArch64RedundantCopyElimination to catch cases where the register
that is known to be zero is COPY'd in the predecessor block.  Before
this change, this pass would catch cases like:

      CBZW %W0, <BB#1>
  BB#1:
      %W0 = COPY %WZR // removed

After this change, cases like the one below are also caught:

      %W0 = COPY %W1
      CBZW %W1, <BB#1>
  BB#1:
      %W0 = COPY %WZR // removed

This change results in a 4% increase in static copies removed by this
pass when compiling the llvm test-suite.  It also fixes regressions
caused by doing post-RA copy propagation (a separate change to be put up
for review shortly).

Reviewers: junbuml, mcrosier, t.p.northover, qcolombet, MatzeB

Subscribers: aemerson, rengolin, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295863 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-22 19:10:45 +00:00
..
AArch64 [AArch64] Extend AArch64RedundantCopyElimination to do simple copy propagation. 2017-02-22 19:10:45 +00:00
AMDGPU [DAGCombiner] revert r295336 2017-02-22 16:27:33 +00:00
ARM [DAGCombiner] revert r295336 2017-02-22 16:27:33 +00:00
AVR MIRTests: Remove unnecessary 2>&1 redirection 2017-02-22 18:47:41 +00:00
BPF Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2017-02-02 18:24:55 +00:00
Generic Implement intrinsic mangling for literal struct types. 2017-02-15 23:16:20 +00:00
Hexagon MIRTests: Remove unnecessary 2>&1 redirection 2017-02-22 18:47:41 +00:00
Inputs
Lanai [lanai] Simplify small section check in LowerGlobalAddress and treat ldata sections specially. 2016-12-15 16:56:16 +00:00
Mips [LLVM][XRAY][MIPS] Support xray on mips/mipsel/mips64/mips64el 2017-02-15 10:48:11 +00:00
MIR MIRTests: Remove unnecessary 2>&1 redirection 2017-02-22 18:47:41 +00:00
MSP430 Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2017-02-02 18:24:55 +00:00
NVPTX [NVPTX] Unify vectorization of load/stores of aggregate arguments and return values. 2017-02-21 22:56:05 +00:00
PowerPC [DAGCombiner] revert r295336 2017-02-22 16:27:33 +00:00
SPARC Codegen: Make chains from trellis-shaped CFGs 2017-02-15 19:49:14 +00:00
SystemZ [TLI] Robustize SDAG LibFunc proto checking by merging it into TLI. 2017-02-03 19:11:19 +00:00
Thumb [ARM] Fix constant islands pass. 2017-02-22 09:06:21 +00:00
Thumb2 [ARM] Replace HasT2ExtractPack with HasDSP 2017-02-17 15:42:44 +00:00
WebAssembly [WebAssembly] Configure codegen to legalize f16 values. 2017-02-22 16:28:00 +00:00
WinEH Avoid infinite loops in branch folding 2016-12-12 23:05:38 +00:00
X86 MIRTests: Remove unnecessary 2>&1 redirection 2017-02-22 18:47:41 +00:00
XCore Move some error handling down to MCStreamer. 2017-02-10 15:13:12 +00:00