public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Patch: Re: optimization/8750: Cygwin prolog generation erroneously emitting __alloca as regular function call
@ 2002-12-19 12:30 Danny Smith
  0 siblings, 0 replies; only message in thread
From: Danny Smith @ 2002-12-19 12:30 UTC (permalink / raw)
  To: GCC Patches; +Cc: rth, Christopher Faylor

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8750

The followin fixes PR optimization/8750, a serious regression from 2.95
on W32 targets (which set TARGET_STACK_PROBE) 

Tested on 3.2 and 3.3 branches with i386-pc-mingw32.

Can someone with more knowledge of 1386 backend please review and
perhaps suggest less naive fix.

ChangeLog

2002-12-19  Danny Smith  <dannysmith@users.sourceforge.net>

	PR optimization/8750
	* config/i386/i386.c (ix86_expand_prologue): Don't allow
	scheduling pass to move insns across __alloca call.


Index: i386.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v
retrieving revision 1.495
diff -c -3 -p -r1.495 i386.c
*** i386.c	9 Dec 2002 23:53:59 -0000	1.495
--- i386.c	19 Dec 2002 10:44:08 -0000
*************** ix86_expand_prologue ()
*** 4516,4521 ****
--- 4516,4525 ----
        CALL_INSN_FUNCTION_USAGE (insn)
  	= gen_rtx_EXPR_LIST (VOIDmode, gen_rtx_USE (VOIDmode, arg0),
  			     CALL_INSN_FUNCTION_USAGE (insn));
+ 
+       /* Don't allow scheduling pass to move insns across __alloca
+          call.  */
+       emit_insn (gen_blockage (const0_rtx));
      }
    if (use_mov)
      {



http://greetings.yahoo.com.au - Yahoo! Greetings
- Send your seasons greetings online this year!

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-12-19 20:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-19 12:30 Patch: Re: optimization/8750: Cygwin prolog generation erroneously emitting __alloca as regular function call Danny Smith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).