From: Richard Biener Date: Tue, 3 May 2022 10:48:43 +0000 (+0200) Subject: middle-end/105083 - check prerequesites in scev_initialize X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7bb6fa5a1c77ef6af26c70e3126a8b1353d1f987;p=platform%2Fupstream%2Fgcc.git middle-end/105083 - check prerequesites in scev_initialize 2022-05-03 Richard Biener PR middle-end/105083 * tree-scalar-evolution.cc (scev_initialize): Verify we have appropriate loop state. * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and loop init and finalization. --- diff --git a/gcc/tree-scalar-evolution.cc b/gcc/tree-scalar-evolution.cc index b53d7aa..72ceb40 100644 --- a/gcc/tree-scalar-evolution.cc +++ b/gcc/tree-scalar-evolution.cc @@ -2977,7 +2977,8 @@ gather_stats_on_scev_database (void) void scev_initialize (void) { - gcc_assert (! scev_initialized_p ()); + gcc_assert (! scev_initialized_p () + && loops_state_satisfies_p (cfun, LOOPS_NORMAL)); scalar_evolution_info = hash_table::create_ggc (100); diff --git a/gcc/tree-ssa-dce.cc b/gcc/tree-ssa-dce.cc index 2067b71..a6b2840 100644 --- a/gcc/tree-ssa-dce.cc +++ b/gcc/tree-ssa-dce.cc @@ -1866,9 +1866,9 @@ perform_tree_ssa_dce (bool aggressive) bool in_loop_pipeline = scev_initialized_p (); if (aggressive && ! in_loop_pipeline) { - scev_initialize (); loop_optimizer_init (LOOPS_NORMAL | LOOPS_HAVE_RECORDED_EXITS); + scev_initialize (); } if (aggressive) @@ -1895,8 +1895,8 @@ perform_tree_ssa_dce (bool aggressive) if (aggressive && ! in_loop_pipeline) { - loop_optimizer_finalize (); scev_finalize (); + loop_optimizer_finalize (); } longest_chain = 0;