diff options
author | Vladimir Marko <vmarko@google.com> | 2015-09-25 14:44:17 +0100 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2015-09-29 13:40:06 +0100 |
commit | 452c1b60120aee0883c3339b363f820b8d69c299 (patch) | |
tree | 78d0c7134064446dadd86407d353769b939d64f0 /compiler/optimizing/graph_visualizer.cc | |
parent | ec7e44f7afe0ff48d4d1ae54a12d375e0392d24c (diff) |
Optimizing: Simplify UShr+And, Shr+And.
Eliminate And from UShr+And if the And-mask contains all the
bits that can be non-zero after UShr. Transform Shr+And to
UShr if the And-mask precisely clears the shifted-in sign
bits.
This prepares for detecting the Rotate pattern, i.e.
(x << N) | (x >>> (SIZE - N))
in code that unnecessarily masks the UShr, for example
(x << 1) | ((x >>> 31) & 1) ,
or uses Shr, for example
(x << 8) | ((x >> 24) & 0xff) .
Change-Id: I684c4b752547d9b1057d0d4c4d44550bb1a3ffb4
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions