diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fc23fcb4a40..58945f19b20 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-08-08 Richard Henderson + + PR middle-end/49990 + * config/i386/i386.c (ix86_expand_prologue): Call + for SEH target gen_prologue_use instead of gen_blockage + at prologue's end. + 2011-08-08 Martin Jambor PR middle-end/49923 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index b50b3d018bb..9a21e6bf918 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -10242,9 +10242,11 @@ ix86_expand_prologue (void) emit_insn (gen_cld ()); /* SEH requires that the prologue end within 256 bytes of the start of - the function. Prevent instruction schedules that would extend that. */ + the function. Prevent instruction schedules that would extend that. + Further, prevent alloca modifications to the stack pointer from being + combined with prologue modifications. */ if (TARGET_SEH) - emit_insn (gen_blockage ()); + emit_insn (gen_prologue_use (stack_pointer_rtx)); } /* Emit code to restore REG using a POP insn. */