summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
authorDavid Brazdil <dbrazdil@google.com>2015-03-24 17:31:29 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-03-24 17:31:31 +0000
commitb64b782f9ae7a94ecbbf64c83cbcdc7d716ba560 (patch)
treedf3aa814ff7762d681c50781c413fd510440ae61 /compiler/optimizing/optimizing_compiler.cc
parent2c2d00e8ca841aa2f57fa2f852e896378ef67144 (diff)
parent46e2a3915aa68c77426b71e95b9f3658250646b7 (diff)
downloadandroid_art-b64b782f9ae7a94ecbbf64c83cbcdc7d716ba560.tar.gz
android_art-b64b782f9ae7a94ecbbf64c83cbcdc7d716ba560.tar.bz2
android_art-b64b782f9ae7a94ecbbf64c83cbcdc7d716ba560.zip
Merge "ART: Boolean simplifier"
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r--compiler/optimizing/optimizing_compiler.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index 933a8a005c..ea969dcb44 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -22,6 +22,7 @@
#include "base/arena_allocator.h"
#include "base/dumpable.h"
#include "base/timing_logger.h"
+#include "boolean_simplifier.h"
#include "bounds_check_elimination.h"
#include "builder.h"
#include "code_generator.h"
@@ -313,6 +314,7 @@ static void RunOptimizations(HGraph* graph,
HDeadCodeElimination dce(graph);
HConstantFolding fold1(graph);
InstructionSimplifier simplify1(graph, stats);
+ HBooleanSimplifier boolean_not(graph);
HInliner inliner(graph, dex_compilation_unit, driver, stats);
@@ -331,6 +333,9 @@ static void RunOptimizations(HGraph* graph,
&dce,
&fold1,
&simplify1,
+ // BooleanSimplifier depends on the InstructionSimplifier removing redundant
+ // suspend checks to recognize empty blocks.
+ &boolean_not,
&inliner,
&fold2,
&side_effects,