[Bug tree-optimization/56426] [4.8 Regression] Segmentation fault in find_var_scev_info, at tree-scalar-evolution.c:358
mpolacek at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Feb 25 12:15:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56426
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-02-25 12:15:05 UTC ---
Goes away with -fno-tree-pre. The thing is, PRE calls scev_finalize. But
before loop optimizing, especially estimate_numbers_of_iterations, which calls
estimate_numbers_of_iterations_loop, SCEV should be initialized. Or at least
estimate_numbers_of_iterations_loop should be guarded by if (scev_initialized_p
()) as on other places. SCEV is normally initialized in tree_ssa_loop_init,
but only if number_of_loops > 1.
if (number_of_loops () <= 1)
return 0;
scev_initialize ();
Would it make sense to always initialize SCEV, i.e.:
--- gcc/tree-ssa-loop.c.mp 2013-02-25 13:06:47.212132327 +0100
+++ gcc/tree-ssa-loop.c 2013-02-25 13:06:50.148141586 +0100
@@ -70,10 +70,11 @@ tree_ssa_loop_init (void)
| LOOPS_HAVE_RECORDED_EXITS);
rewrite_into_loop_closed_ssa (NULL, TODO_update_ssa);
+ scev_initialize ();
+
if (number_of_loops () <= 1)
return 0;
- scev_initialize ();
return 0;
}
?
More information about the Gcc-bugs
mailing list