[Bug tree-optimization/34148] [4.3 Regression] Too many VOPs, too deep tree-ssa-sccvn.c recursion
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Nov 19 17:38:00 GMT 2007
------- Comment #5 from rguenth at gcc dot gnu dot org 2007-11-19 17:38 -------
With just a forwprop pass after inlining and before salias we miscompile
cp/semantics.c:pop_to_parent_deferring_access_checks() at -O2.
An optimization barrier like
pop_to_parent_deferring_access_checks (void)
{
if (deferred_access_no_check)
deferred_access_no_check--;
else
{
VEC (deferred_access_check,gc) *checks;
deferred_access *ptr;
checks = (VEC_last (deferred_access, deferred_access_stack)
->deferred_access_checks);
VEC_pop (deferred_access, deferred_access_stack);
__asm__ __volatile__ ("" : : : "memory");
ptr = VEC_last (deferred_access, deferred_access_stack);
fixes it. Reducing max-aliased-vops to 100 (as with -O1 which also passes)
fixes the problem as well. -O1 -fstrict-aliasing
--param max-aliased-vops=500 (as with -O2) also breaks. Disabling DOM
makes it work again.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34148
More information about the Gcc-bugs
mailing list