gfortran -O2 array_reference_1.f90 just hangs. I have to go in and kill it manually. This is just one example. There were several failures before I interrupted make -k check-fortran in order to recover enough CPU cycles to then go in an kill f951 that was left running. No problems at -O1 so maybe middle-end?
Same issue when building libjava. We run out of virtual memory. from gdb I can see we run amok in peephole2_optimize. So that's again bernds patch.
We're peepholing in circles I guess?
This issue causes a bootstrap fail in libjava on x86_64-linux.
Index: gcc/config/i386/i386.md =================================================================== --- gcc/config/i386/i386.md (revision 161594) +++ gcc/config/i386/i386.md (working copy) @@ -4729,6 +4729,7 @@ (define_peephole2 (set (match_operand:SSEMODEI24 2 "register_operand" "") (fix:SSEMODEI24 (match_dup 0)))] "TARGET_SHORTEN_X87_SSE + && !(TARGET_AVOID_VECTOR_DECODE && optimize_insn_for_speed_p ()) && peep2_reg_dead_p (2, operands[0])" [(set (match_dup 2) (fix:SSEMODEI24 (match_dup 1)))] "") fixes array_reference_1.f90, checking bootstrap now.
Fixed.
Subject: Bug 44722 Author: rguenth Date: Wed Jun 30 11:09:37 2010 New Revision: 161597 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161597 Log: 2010-06-30 Richard Guenther <rguenther@suse.de> PR target/44722 * config/i386/i386.md (peephole2 for fix:SSEMODEI24): Guard against oscillation with reverse peephole2. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.md