diff options
author | 2017-09-21 13:50:52 +0200 | |
---|---|---|
committer | 2017-10-05 11:43:34 +0200 | |
commit | a290160f74ee53c0ffb51c7b3ac916d239c9556a (patch) | |
tree | 0bfc9728ccee68dbd359b023319423f703448aac /compiler/Android.bp | |
parent | 86d244ec33f333b32301a9ee09088300c8544a7b (diff) |
MIPS32R2: Share address computation
For array accesses the element address has the following structure:
Address = CONST_OFFSET + base_addr + index << ELEM_SHIFT
The address part (index << ELEM_SHIFT) can be shared across array
accesses with the same data type and index.
For example, in the following loop 5 accesses can share address
computation:
void foo(int[] a, int[] b, int[] c) {
for (i...) {
a[i] = a[i] + 5;
b[i] = b[i] + c[i];
}
}
Test: test-art-host, test-art-target
Change-Id: Id09fa782934aad4ee47669275e7e1a4d7d23b0fa
Diffstat (limited to 'compiler/Android.bp')
-rw-r--r-- | compiler/Android.bp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/Android.bp b/compiler/Android.bp index 30448904f9..59ca4c7abf 100644 --- a/compiler/Android.bp +++ b/compiler/Android.bp @@ -135,6 +135,7 @@ art_cc_defaults { "linker/mips/relative_patcher_mips.cc", "optimizing/code_generator_mips.cc", "optimizing/code_generator_vector_mips.cc", + "optimizing/instruction_simplifier_mips.cc", "optimizing/intrinsics_mips.cc", "optimizing/pc_relative_fixups_mips.cc", "utils/mips/assembler_mips.cc", |