summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimization.cc
diff options
context:
space:
mode:
author Santiago Aboy Solanes <solanes@google.com> 2023-01-12 16:10:05 +0000
committer Santiago Aboy Solanes <solanes@google.com> 2023-01-30 10:21:34 +0000
commit3633fe4e7dc8a4acaea0d9911c86683b51c1db2b (patch)
treeca7fd3a8ae28231aa6d120f14900c44b528ecefb /compiler/optimizing/optimization.cc
parentb6c230117d189c79eaf7e063f2f3fa5fec399aca (diff)
Skip InductionVarAnalysis for a pathological case
Having a long chain of loop header phis hangs up the compiler. Note that we can still compile the method if we skip the InductionVarAnalysis phase. Bug: 246249941 Fixes: 246249941 Bug: 32545907 Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b Test: dex2oat compile the app in 246249941 Change-Id: Id2d14b1c4d787f98d656055274c7cfcae6491686
Diffstat (limited to 'compiler/optimizing/optimization.cc')
-rw-r--r--compiler/optimizing/optimization.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/compiler/optimizing/optimization.cc b/compiler/optimizing/optimization.cc
index 73a47517bf..e1b97b4aac 100644
--- a/compiler/optimizing/optimization.cc
+++ b/compiler/optimizing/optimization.cc
@@ -197,7 +197,8 @@ ArenaVector<HOptimization*> ConstructOptimizations(
opt = most_recent_side_effects = new (allocator) SideEffectsAnalysis(graph, pass_name);
break;
case OptimizationPass::kInductionVarAnalysis:
- opt = most_recent_induction = new (allocator) HInductionVarAnalysis(graph, pass_name);
+ opt = most_recent_induction =
+ new (allocator) HInductionVarAnalysis(graph, stats, pass_name);
break;
//
// Passes that need prior analysis.