summaryrefslogtreecommitdiff
path: root/compiler/dex/frontend.cc
diff options
context:
space:
mode:
author Serban Constantinescu <serban.constantinescu@arm.com> 2014-07-15 17:44:21 +0100
committer buzbee <buzbee@google.com> 2014-07-27 10:06:27 -0700
commitfcc36ba2a2b8fd10e6eebd21ecb6329606443ded (patch)
tree58084b4fdb842b129324e034ac1a195f6d0cee4e /compiler/dex/frontend.cc
parenta65d63e4eb81605fd798f1ca038d651b0faa29eb (diff)
Enable Load Store Elimination for ARM and ARM64
This patch refactors the implementation of the LoadStoreElimination optimisation pass. Please note that this pass was disabled and not functional for any of the backends. The current implementation tracks aliases and handles DalvikRegs as well as Heap memory regions. It has been tested and it is known to optimise out the following: * Load - Load * Store - Load * Store - Store * Load Literals Change-Id: Iefae9b696f87f833ef35c451ed4d49c5a1b6fde0
Diffstat (limited to 'compiler/dex/frontend.cc')
-rw-r--r--compiler/dex/frontend.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/dex/frontend.cc b/compiler/dex/frontend.cc
index 51446f6356..bff7dff513 100644
--- a/compiler/dex/frontend.cc
+++ b/compiler/dex/frontend.cc
@@ -42,7 +42,7 @@ extern "C" void ArtUnInitQuickCompilerContext(art::CompilerDriver* driver) {
/* Default optimizer/debug setting for the compiler. */
static uint32_t kCompilerOptimizerDisableFlags = 0 | // Disable specific optimizations
- (1 << kLoadStoreElimination) | // TODO: this pass has been broken for awhile - fix or delete.
+ // (1 << kLoadStoreElimination) |
// (1 << kLoadHoisting) |
// (1 << kSuppressLoads) |
// (1 << kNullCheckElimination) |
@@ -96,12 +96,12 @@ static constexpr uint32_t kDisabledOptimizationsPerISA[] = {
~0U,
// 1 = kArm, unused (will use kThumb2).
~0U,
- // 2 = kArm64. TODO(Arm64): enable optimizations once backend is mature enough.
- (1 << kLoadStoreElimination) |
+ // 2 = kArm64.
0,
// 3 = kThumb2.
0,
// 4 = kX86.
+ (1 << kLoadStoreElimination) |
0,
// 5 = kX86_64.
(1 << kLoadStoreElimination) |