diff options
Diffstat (limited to 'contrib/gcc/explow.c')
| -rw-r--r-- | contrib/gcc/explow.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/contrib/gcc/explow.c b/contrib/gcc/explow.c index c1de4c85d22c..01eda84d6dea 100644 --- a/contrib/gcc/explow.c +++ b/contrib/gcc/explow.c @@ -951,6 +951,7 @@ emit_stack_save (enum save_level save_level, rtx *psave, rtx after)        rtx seq;        start_sequence (); +      do_pending_stack_adjust ();        /* We must validize inside the sequence, to ensure that any instructions  	 created by the validize call also get moved to the right place.  */        if (sa != 0) @@ -962,6 +963,7 @@ emit_stack_save (enum save_level save_level, rtx *psave, rtx after)      }    else      { +      do_pending_stack_adjust ();        if (sa != 0)  	sa = validize_mem (sa);        emit_insn (fcn (sa, stack_pointer_rtx)); @@ -1018,6 +1020,8 @@ emit_stack_restore (enum save_level save_level, rtx sa, rtx after)  		    gen_rtx_MEM (BLKmode, stack_pointer_rtx)));      } +  discard_pending_stack_adjust (); +    if (after)      {        rtx seq;  | 
