summaryrefslogtreecommitdiff
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1992-05-25 22:26:27 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1992-05-25 22:26:27 +0000
commitf508aa895b8e4e07340f661d59d15cf18d506288 (patch)
treeb4b1cb9c83683650141d5fe991d2cd0d57b70057 /gcc/explow.c
parenta607012b7bd2223904810af7cff92345cb65b8e2 (diff)
downloadgcc-f508aa895b8e4e07340f661d59d15cf18d506288.tar.gz
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1086 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/explow.c')
-rw-r--r--gcc/explow.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/gcc/explow.c b/gcc/explow.c
index c01c21b338e..ecb6477c45a 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -752,9 +752,17 @@ emit_stack_save (save_level, psave, after)
}
if (after)
- emit_insn_after (fcn (sa, stack_pointer_rtx), after);
+ {
+ rtx seq;
+
+ start_sequence ();
+ emit_insn (fcn (validize_mem (sa), stack_pointer_rtx));
+ seq = gen_sequence ();
+ end_sequence ();
+ emit_insn_after (seq, after);
+ }
else
- emit_insn (fcn (sa, stack_pointer_rtx));
+ emit_insn (fcn (validize_mem (sa), stack_pointer_rtx));
}
/* Restore the stack pointer for the purpose in SAVE_LEVEL. SA is the save
@@ -797,9 +805,17 @@ emit_stack_restore (save_level, sa, after)
}
if (after)
- emit_insn_after (fcn (stack_pointer_rtx, sa), after);
+ {
+ rtx seq;
+
+ start_sequence ();
+ emit_insn (fcn (stack_pointer_rtx, validize_mem (sa)));
+ seq = gen_sequence ();
+ end_sequence ();
+ emit_insn_after (seq, after);
+ }
else
- emit_insn (fcn (stack_pointer_rtx, sa));
+ emit_insn (fcn (stack_pointer_rtx, validize_mem (sa)));
}
/* Return an rtx representing the address of an area of memory dynamically