diff options
author | buzbee <buzbee@google.com> | 2013-09-05 17:13:19 -0700 |
---|---|---|
committer | buzbee <buzbee@google.com> | 2013-09-06 15:55:51 -0700 |
commit | 56c717860df2d71d66fb77aa77f29dd346e559d3 (patch) | |
tree | 672cc501b98791939cab65b7b47329e90b73c005 /compiler/dex/quick/local_optimizations.cc | |
parent | c7cd72c5ad65589b68e6aea185200fc2dbb0e850 (diff) | |
download | android_art-56c717860df2d71d66fb77aa77f29dd346e559d3.tar.gz android_art-56c717860df2d71d66fb77aa77f29dd346e559d3.tar.bz2 android_art-56c717860df2d71d66fb77aa77f29dd346e559d3.zip |
Compile-time tuning
Specialized the dataflow iterators and did a few other minor tweaks.
Showing ~5% compile-time improvement in a single-threaded environment;
less in multi-threaded (presumably because we're blocked by something
else).
Change-Id: I2e2ed58d881414b9fc97e04cd0623e188259afd2
Diffstat (limited to 'compiler/dex/quick/local_optimizations.cc')
-rw-r--r-- | compiler/dex/quick/local_optimizations.cc | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/compiler/dex/quick/local_optimizations.cc b/compiler/dex/quick/local_optimizations.cc index 630e990733..41adb946a2 100644 --- a/compiler/dex/quick/local_optimizations.cc +++ b/compiler/dex/quick/local_optimizations.cc @@ -99,12 +99,11 @@ void Mir2Lir::ApplyLoadStoreElimination(LIR* head_lir, LIR* tail_lir) { int native_reg_id; if (cu_->instruction_set == kX86) { // If x86, location differs depending on whether memory/reg operation. - native_reg_id = (GetTargetInstFlags(this_lir->opcode) & IS_STORE) ? this_lir->operands[2] - : this_lir->operands[0]; + native_reg_id = (target_flags & IS_STORE) ? this_lir->operands[2] : this_lir->operands[0]; } else { native_reg_id = this_lir->operands[0]; } - bool is_this_lir_load = GetTargetInstFlags(this_lir->opcode) & IS_LOAD; + bool is_this_lir_load = target_flags & IS_LOAD; LIR* check_lir; /* Use the mem mask to determine the rough memory location */ uint64_t this_mem_mask = (this_lir->use_mask | this_lir->def_mask) & ENCODE_MEM; |