llvm/test
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
..
Analysis [ValueTracking] Make poison propagation more aggressive 2017-02-22 06:52:32 +00:00
Assembler
Bindings
Bitcode
BugPoint [IR/Verifier] List the CU we weren't able to find in llvm.dbg.cu. 2017-02-20 22:51:42 +00:00
CodeGen [AArch64] Extend AArch64RedundantCopyElimination to do simple copy propagation. 2017-02-22 19:10:45 +00:00
DebugInfo
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
LibDriver
Linker
LTO
MC [WebAssembly] Implement the wasm binary container header. 2017-02-22 18:50:20 +00:00
Object Write to a temporary file in test instead of random file in the test directory. 2017-02-22 09:02:27 +00:00
ObjectYAML
Other s/REQUIRES: Asserts/REQUIRES: asserts/ 2017-02-19 23:26:00 +00:00
SymbolRewriter
TableGen [globalisel] OperandPredicateMatcher's shouldn't need to generate the MachineOperand expr. NFC 2017-02-20 15:30:43 +00:00
ThinLTO/X86
tools
Transforms [LV] Add scalar floating-point induction test (NFC) 2017-02-22 19:09:38 +00:00
Unit
Verifier Teach the IR verifier to reject conflicting debug info for function arguments. 2017-02-21 19:03:15 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh