diff options
author | Geoff Berry <gberry@codeaurora.org> | 2017-02-22 19:10:45 +0000 |
---|---|---|
committer | Geoff Berry <gberry@codeaurora.org> | 2017-02-22 19:10:45 +0000 |
commit | 6bb79157ddaab06b661b2c5b3a84eae99bbeddbc (patch) | |
tree | df9ddfbe56f34bb99144b8076c36c62a37f08660 /lldb/packages/Python/lldbsuite/test/python_api | |
parent | 5ef66ef248a7f4b05b01b5d1ba3b86569a8d240f (diff) | |
download | bcm5719-llvm-6bb79157ddaab06b661b2c5b3a84eae99bbeddbc.tar.gz bcm5719-llvm-6bb79157ddaab06b661b2c5b3a84eae99bbeddbc.zip |
[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
llvm-svn: 295863
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions