diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1992-05-25 18:26:27 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1992-05-25 18:26:27 -0400 |
commit | 700f6f985c4d5645116d34470d9112183ee7a31b (patch) | |
tree | b4b1cb9c83683650141d5fe991d2cd0d57b70057 /gcc | |
parent | 613f146b37c77191dce8fef6d82292938afd81f3 (diff) | |
download | gcc-700f6f985c4d5645116d34470d9112183ee7a31b.zip gcc-700f6f985c4d5645116d34470d9112183ee7a31b.tar.gz gcc-700f6f985c4d5645116d34470d9112183ee7a31b.tar.bz2 |
*** empty log message ***
From-SVN: r1086
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/explow.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index c01c21b..ecb6477 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 |