diff options
author | Quentin Colombet <qcolombet@apple.com> | 2014-08-21 00:19:16 +0000 |
---|---|---|
committer | Quentin Colombet <qcolombet@apple.com> | 2014-08-21 00:19:16 +0000 |
commit | 689623009b8792bb09416686f2b1d21f4f0d6ddf (patch) | |
tree | 286fc003edb7403994c4878a8ea50561d2c987bd /llvm/lib/Support/StringRef.cpp | |
parent | 84f15bd1b05387e506cf2b49d3d40df193edce79 (diff) | |
download | llvm-689623009b8792bb09416686f2b1d21f4f0d6ddf.zip llvm-689623009b8792bb09416686f2b1d21f4f0d6ddf.tar.gz llvm-689623009b8792bb09416686f2b1d21f4f0d6ddf.tar.bz2 |
[PeepholeOptimizer] Take advantage of the isInsertSubreg property in the
advanced copy optimization.
This is the final step patch toward transforming:
udiv r0, r0, r2
udiv r1, r1, r3
vmov.32 d16[0], r0
vmov.32 d16[1], r1
vmov r0, r1, d16
bx lr
into:
udiv r0, r0, r2
udiv r1, r1, r3
bx lr
Indeed, thanks to this patch, this optimization is able to look through
vmov.32 d16[0], r0
vmov.32 d16[1], r1
and is able to rewrite the following sequence:
vmov.32 d16[0], r0
vmov.32 d16[1], r1
vmov r0, r1, d16
into simple generic GPR copies that the coalescer managed to remove.
<rdar://problem/12702965>
llvm-svn: 216144
Diffstat (limited to 'llvm/lib/Support/StringRef.cpp')
0 files changed, 0 insertions, 0 deletions