This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/30282] Optimization flag -O1 -fschedule-insns2 cause red zone to be used when there is none
- From: "amodra at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 5 Aug 2011 16:24:57 +0000
- Subject: [Bug target/30282] Optimization flag -O1 -fschedule-insns2 cause red zone to be used when there is none
- Auto-submitted: auto-generated
- References: <bug-30282-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30282
--- Comment #15 from Alan Modra <amodra at gmail dot com> 2011-08-05 16:23:04 UTC ---
Created attachment 24922
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24922
belt and braces fix for rs6000.c
This fix goes overboard to guard against possible future compiler changes. I
use Jakub's frame_tie in rs6000_emit_stack_reset when frame_reg_rtx is not sp,
as he found necessary (alias analysis decided fp and sp accesses couldn't
alias?), just in case alias analysis further loses the plot. I also make the
frame_tie mem constraint +m for sp as well as fp, to make it explicit that
reads via sp or regs set from sp, shouldn't cross the stack adjust. This is
definitely belts and braces stuff, but I don't believe restricts the scheduler
any more than a minimal fix.