diff options
| author | 2017-05-08 18:36:40 +0100 | |
|---|---|---|
| committer | 2017-06-30 16:32:54 +0100 | |
| commit | 2a3471fc83383bfe3e060799482e372420ba6150 (patch) | |
| tree | 7b7764521a0b67392e023f1efacc0dbae64fe675 /compiler/optimizing/codegen_test_utils.h | |
| parent | 89ae0f42e38a2f985ac404830f2a05fecf9547e2 (diff) | |
Disambiguate memory accesses in instruction scheduling
Based on aliasing information from heap location collector,
instruction scheduling can further eliminate side-effect
dependencies between memory accesses to different locations,
and perform better scheduling on memory loads and stores.
Performance improvements of this CL, measured on Cortex-A53:
| benchmarks     | ARM64 backend | ARM backend |
|----------------+---------------|-------------|
| algorithm      |         0.1 % |       0.1 % |
| benchmarksgame |         0.5 % |       1.3 % |
| caffeinemark   |         0.0 % |       0.0 % |
| math           |         5.1 % |       5.0 % |
| stanford       |         1.1 % |       0.6 % |
| testsimd       |         0.4 % |       0.1 % |
Compilation time impact is negligible, because this
heap location load store analysis is only performed
on loop basic blocks that get instruction scheduled.
Test: m test-art-host
Test: m test-art-target
Test: 706-checker-scheduler
Change-Id: I43d7003c09bfab9d3a1814715df666aea9a7360b
Diffstat (limited to 'compiler/optimizing/codegen_test_utils.h')
0 files changed, 0 insertions, 0 deletions