diff options
author | Aart Bik <ajcbik@google.com> | 2016-10-18 13:03:31 -0700 |
---|---|---|
committer | Aart Bik <ajcbik@google.com> | 2016-10-20 14:14:17 -0700 |
commit | 639cc8c7bbb7d8c341173bcf24604ccb4328acb8 (patch) | |
tree | ae8181b94ddd145edaff141a2b351478161f1559 /compiler/optimizing/loop_optimization.cc | |
parent | 3941c882ea7b54772dec36a9a1b33e0b8a7474f7 (diff) |
Improve recognition of select-based period induction.
Rationale:
Similar to the previous CL, this helps to eliminate more dead induction.
Now, CaffeineLogic, when compiled with dx (rather than jack) improves
by a 1.5 speedup (9000us -> 6000us).
Note:
We need to run the simplifier before induction analysis to trigger
the select simplification first. Although a bit of a compile-time hit,
it seems a good idea to run a simplifier here again anyway.
Test: test-art-host
Change-Id: I93b91ca40a4d64385c64393028e8d213f0c904a8
Diffstat (limited to 'compiler/optimizing/loop_optimization.cc')
-rw-r--r-- | compiler/optimizing/loop_optimization.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc index 703a10402d..b88e73b979 100644 --- a/compiler/optimizing/loop_optimization.cc +++ b/compiler/optimizing/loop_optimization.cc @@ -221,6 +221,7 @@ void HLoopOptimization::TraverseLoopsInnerToOuter(LoopNode* node) { if (current_induction_simplification_count != induction_simplication_count_) { induction_range_.ReVisit(node->loop_info); } + SimplifyBlocks(node); SimplifyInduction(node); SimplifyBlocks(node); if (node->inner == nullptr) { |