diff options
| author | 2017-02-17 21:53:42 +0000 | |
|---|---|---|
| committer | 2017-02-17 21:53:43 +0000 | |
| commit | 0f44de8616000962b6ff45dbb50c0cdf34521707 (patch) | |
| tree | 45d129227a8e5ddcfe64eaa6662e14af9ef97eff /compiler/optimizing/loop_optimization.cc | |
| parent | ee883219e329571b9e487b94dc6a675095d088bf (diff) | |
| parent | 69d75ffac23fe1e655b7e81f0454c2841280dc1f (diff) | |
Merge "Skip loop optimization if there is no loop in the graph."
Diffstat (limited to 'compiler/optimizing/loop_optimization.cc')
| -rw-r--r-- | compiler/optimizing/loop_optimization.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/optimizing/loop_optimization.cc b/compiler/optimizing/loop_optimization.cc index 95838380cc..26c9ab83c2 100644 --- a/compiler/optimizing/loop_optimization.cc +++ b/compiler/optimizing/loop_optimization.cc @@ -71,7 +71,7 @@ HLoopOptimization::HLoopOptimization(HGraph* graph, void HLoopOptimization::Run() { // Well-behaved loops only. // TODO: make this less of a sledgehammer. - if (graph_->HasTryCatch() || graph_->HasIrreducibleLoops()) { + if (!graph_->HasLoops() || graph_->HasTryCatch() || graph_->HasIrreducibleLoops()) { return; } @@ -84,6 +84,10 @@ void HLoopOptimization::Run() { // Perform loop optimizations. LocalRun(); + if (top_loop_ == nullptr) { + graph_->SetHasLoops(false); + } + // Detach. loop_allocator_ = nullptr; last_loop_ = top_loop_ = nullptr; |