summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/explow.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gcc/explow.c')
-rw-r--r--contrib/gcc/explow.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/contrib/gcc/explow.c b/contrib/gcc/explow.c
index c1de4c8..01eda84 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;
OpenPOWER on IntegriCloud