summaryrefslogtreecommitdiff
path: root/compiler/optimizing/bounds_check_elimination.h
diff options
context:
space:
mode:
author Aart Bik <ajcbik@google.com> 2015-09-10 12:50:58 -0700
committer Aart Bik <ajcbik@google.com> 2015-09-15 17:03:13 -0700
commit22af3bee34d0ab1a4bd186c71ccab00366882259 (patch)
tree793f358d498142a2e60d7d5131c347b0fd668cbd /compiler/optimizing/bounds_check_elimination.h
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/bounds_check_elimination.h')
-rw-r--r--compiler/optimizing/bounds_check_elimination.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/optimizing/bounds_check_elimination.h b/compiler/optimizing/bounds_check_elimination.h
index 24b8ea7c56..cdff3ca0ba 100644
--- a/compiler/optimizing/bounds_check_elimination.h
+++ b/compiler/optimizing/bounds_check_elimination.h
@@ -21,16 +21,21 @@
namespace art {
+class HInductionVarAnalysis;
+
class BoundsCheckElimination : public HOptimization {
public:
- explicit BoundsCheckElimination(HGraph* graph)
- : HOptimization(graph, kBoundsCheckEliminiationPassName) {}
+ BoundsCheckElimination(HGraph* graph, HInductionVarAnalysis* induction_analysis)
+ : HOptimization(graph, kBoundsCheckEliminiationPassName),
+ induction_analysis_(induction_analysis) {}
void Run() OVERRIDE;
static constexpr const char* kBoundsCheckEliminiationPassName = "BCE";
private:
+ HInductionVarAnalysis* induction_analysis_;
+
DISALLOW_COPY_AND_ASSIGN(BoundsCheckElimination);
};