re PR rtl-optimization/8750 (Cygwin prolog generation erroneously emitting __alloca...
authorDanny Smith <dannysmith@users.sourceforge.net>
Thu, 9 Jan 2003 02:34:52 +0000 (02:34 +0000)
committerRichard Henderson <rth@gcc.gnu.org>
Thu, 9 Jan 2003 02:34:52 +0000 (18:34 -0800)
        PR optimization/8750
        * config/i386/i386.c (ix86_expand_prologue): Don't allow
        scheduling pass to move insns across __alloca call.

From-SVN: r61068

gcc/ChangeLog
gcc/config/i386/i386.c

index 0d795daa8f5137c59939d31fe273ac61e937d464..874920c2d93c9f123609adbb426ef62b127f4b92 100644 (file)
@@ -1,3 +1,9 @@
+2003-01-08  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.
+
 2003-01-08  Dale Johannesen  <dalej@apple.com>
 
         * config/rs6000/rs6000.md:  Replace *store_multiple_string
index c8d02a4fb23be2deb0d80849977f806a75b56cfd..64618f83cf4cd47e45a77f76e350c946b2417f20 100644 (file)
@@ -4800,6 +4800,10 @@ ix86_expand_prologue ()
       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)
     {