diff options
author | 2017-09-07 03:16:14 +0000 | |
---|---|---|
committer | 2017-09-07 03:16:14 +0000 | |
commit | 9af08e64d061f12d486b88c2545d8ddde9d08bf0 (patch) | |
tree | aab7cf2544b54e76adc0ba24377dceae538222f9 | |
parent | 70869206e4681d62f73bc931e6675232b224a790 (diff) | |
parent | b92cc33a7a6a827da577627dc274440ac29652a8 (diff) |
Merge "Pass stats into the loop optimization phase."
-rw-r--r-- | compiler/optimizing/loop_optimization.cc | 5 | ||||
-rw-r--r-- | compiler/optimizing/loop_optimization.h | 3 | ||||
-rw-r--r-- | compiler/optimizing/loop_optimization_test.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 4 |
4 files changed, 8 insertions, 6 deletions
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc index 6b2697bf18..a249cacc93 100644 --- a/compiler/optimizing/loop_optimization.cc +++ b/compiler/optimizing/loop_optimization.cc @@ -331,8 +331,9 @@ static bool CheckInductionSetFullyRemoved(ArenaSet<HInstruction*>* iset) { HLoopOptimization::HLoopOptimization(HGraph* graph, CompilerDriver* compiler_driver, - HInductionVarAnalysis* induction_analysis) - : HOptimization(graph, kLoopOptimizationPassName), + HInductionVarAnalysis* induction_analysis, + OptimizingCompilerStats* stats) + : HOptimization(graph, kLoopOptimizationPassName, stats), compiler_driver_(compiler_driver), induction_range_(induction_analysis), loop_allocator_(nullptr), diff --git a/compiler/optimizing/loop_optimization.h b/compiler/optimizing/loop_optimization.h index ba9126c5f6..f34751815b 100644 --- a/compiler/optimizing/loop_optimization.h +++ b/compiler/optimizing/loop_optimization.h @@ -34,7 +34,8 @@ class HLoopOptimization : public HOptimization { public: HLoopOptimization(HGraph* graph, CompilerDriver* compiler_driver, - HInductionVarAnalysis* induction_analysis); + HInductionVarAnalysis* induction_analysis, + OptimizingCompilerStats* stats); void Run() OVERRIDE; diff --git a/compiler/optimizing/loop_optimization_test.cc b/compiler/optimizing/loop_optimization_test.cc index b5b03d8f26..1c5603d00f 100644 --- a/compiler/optimizing/loop_optimization_test.cc +++ b/compiler/optimizing/loop_optimization_test.cc @@ -31,7 +31,7 @@ class LoopOptimizationTest : public CommonCompilerTest { allocator_(&pool_), graph_(CreateGraph(&allocator_)), iva_(new (&allocator_) HInductionVarAnalysis(graph_)), - loop_opt_(new (&allocator_) HLoopOptimization(graph_, nullptr, iva_)) { + loop_opt_(new (&allocator_) HLoopOptimization(graph_, nullptr, iva_, nullptr)) { BuildGraph(); } diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index e98c97cf9a..71d91ae38f 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -509,7 +509,7 @@ static HOptimization* BuildOptimization( } else if (opt_name == SideEffectsAnalysis::kSideEffectsAnalysisPassName) { return new (arena) SideEffectsAnalysis(graph); } else if (opt_name == HLoopOptimization::kLoopOptimizationPassName) { - return new (arena) HLoopOptimization(graph, driver, most_recent_induction); + return new (arena) HLoopOptimization(graph, driver, most_recent_induction, stats); } else if (opt_name == CHAGuardOptimization::kCHAGuardOptimizationPassName) { return new (arena) CHAGuardOptimization(graph); } else if (opt_name == CodeSinking::kCodeSinkingPassName) { @@ -770,7 +770,7 @@ void OptimizingCompiler::RunOptimizations(HGraph* graph, LICM* licm = new (arena) LICM(graph, *side_effects1, stats); HInductionVarAnalysis* induction = new (arena) HInductionVarAnalysis(graph); BoundsCheckElimination* bce = new (arena) BoundsCheckElimination(graph, *side_effects1, induction); - HLoopOptimization* loop = new (arena) HLoopOptimization(graph, driver, induction); + HLoopOptimization* loop = new (arena) HLoopOptimization(graph, driver, induction, stats); LoadStoreAnalysis* lsa = new (arena) LoadStoreAnalysis(graph); LoadStoreElimination* lse = new (arena) LoadStoreElimination(graph, *side_effects2, *lsa, stats); HSharpening* sharpening = new (arena) HSharpening( |