summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
authorAart Bik <ajcbik@google.com>2015-09-10 12:50:58 -0700
committerAart Bik <ajcbik@google.com>2015-09-15 17:03:13 -0700
commit22af3bee34d0ab1a4bd186c71ccab00366882259 (patch)
tree793f358d498142a2e60d7d5131c347b0fd668cbd /compiler/optimizing/optimizing_compiler.cc
parentfe9a1b05ea5a21b6d9a2e9e5081f5e80ff8a1ba2 (diff)
Use induction variable range analysis in BCE (statically).
Rationale: Finally! After lots of very large CLs, now a small CL that uses the new induction variable analysis in BCE (statically, using this dynamically with de-opt is TBD). Despite its relative small size, be aware though, since the CL introduces a new phase to the compiler. Change-Id: If5555a173fd5d55d147c63138ef51fc296fa1414
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r--compiler/optimizing/optimizing_compiler.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index 44214606c0..8fc1e4e47d 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -51,6 +51,7 @@
#include "graph_checker.h"
#include "graph_visualizer.h"
#include "gvn.h"
+#include "induction_var_analysis.h"
#include "inliner.h"
#include "instruction_simplifier.h"
#include "intrinsics.h"
@@ -462,7 +463,8 @@ static void RunOptimizations(HGraph* graph,
SideEffectsAnalysis* side_effects = new (arena) SideEffectsAnalysis(graph);
GVNOptimization* gvn = new (arena) GVNOptimization(graph, *side_effects);
LICM* licm = new (arena) LICM(graph, *side_effects);
- BoundsCheckElimination* bce = new (arena) BoundsCheckElimination(graph);
+ HInductionVarAnalysis* induction = new (arena) HInductionVarAnalysis(graph);
+ BoundsCheckElimination* bce = new (arena) BoundsCheckElimination(graph, induction);
ReferenceTypePropagation* type_propagation =
new (arena) ReferenceTypePropagation(graph, handles);
InstructionSimplifier* simplify2 = new (arena) InstructionSimplifier(
@@ -510,6 +512,7 @@ static void RunOptimizations(HGraph* graph,
side_effects,
gvn,
licm,
+ induction,
bce,
simplify3,
dce2,