diff options
author | Alexandre Rames <alexandre.rames@linaro.org> | 2015-10-19 10:10:41 +0100 |
---|---|---|
committer | Alexandre Rames <alexandre.rames@linaro.org> | 2015-10-19 10:10:41 +0100 |
commit | e6dbf48d7a549e58a3d798bbbdc391e4d091b432 (patch) | |
tree | e9edbb884c0143a38e0b32350119999bc11b4dee /test/ProfileTestMultiDex/main.jpp | |
parent | 45513eb694fe55cf02ca6e8f0884621a6c3f6268 (diff) |
ARM64: Instruction simplification for array accesses.
HArrayGet and HArraySet with variable indexes generate two
instructions on arm64, like
add temp, obj, #data_offset
ldr out, [temp, index LSL #shift_amount]
When we have multiple accesses to the same array, the initial `add`
instruction is redundant.
This patch introduces the first instruction simplification in the
arm64-specific instruction simplification pass. It splits HArrayGet
and HArraySet using the new arm64-specific IR HIntermediateAddress.
After that we run GVN again to squash the multiple occurrences of
HIntermediateAddress.
Change-Id: I2e3d12fbb07fed07b2cb2f3f47f99f5a032f8312
Diffstat (limited to 'test/ProfileTestMultiDex/main.jpp')
0 files changed, 0 insertions, 0 deletions