diff options
author | 2015-09-10 12:50:58 -0700 | |
---|---|---|
committer | 2015-09-15 17:03:13 -0700 | |
commit | 22af3bee34d0ab1a4bd186c71ccab00366882259 (patch) | |
tree | 793f358d498142a2e60d7d5131c347b0fd668cbd /compiler/optimizing/bounds_check_elimination.h | |
parent | fe9a1b05ea5a21b6d9a2e9e5081f5e80ff8a1ba2 (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.h | 9 |
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); }; |