diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1992-05-29 16:14:01 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1992-05-29 16:14:01 -0400 |
commit | d072107f2332b70700b7fbd9b27c802ff3cef1a2 (patch) | |
tree | 58f1800da40cd60401172f6ceb339fe259f134c8 /gcc/explow.c | |
parent | f0a45d37ea0f0a85b25aef0b62899611aa8e401c (diff) | |
download | gcc-d072107f2332b70700b7fbd9b27c802ff3cef1a2.zip gcc-d072107f2332b70700b7fbd9b27c802ff3cef1a2.tar.gz gcc-d072107f2332b70700b7fbd9b27c802ff3cef1a2.tar.bz2 |
*** empty log message ***
From-SVN: r1125
Diffstat (limited to 'gcc/explow.c')
-rw-r--r-- | gcc/explow.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index ecb6477..c0d6972 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -751,18 +751,21 @@ emit_stack_save (save_level, psave, after) abort (); } + if (sa != 0) + sa = validize_mem (sa); + if (after) { rtx seq; start_sequence (); - emit_insn (fcn (validize_mem (sa), stack_pointer_rtx)); + emit_insn (fcn (sa, stack_pointer_rtx)); seq = gen_sequence (); end_sequence (); emit_insn_after (seq, after); } else - emit_insn (fcn (validize_mem (sa), stack_pointer_rtx)); + emit_insn (fcn (sa, stack_pointer_rtx)); } /* Restore the stack pointer for the purpose in SAVE_LEVEL. SA is the save @@ -804,18 +807,21 @@ emit_stack_restore (save_level, sa, after) #endif } + if (sa != 0) + sa = validize_mem (sa); + if (after) { rtx seq; start_sequence (); - emit_insn (fcn (stack_pointer_rtx, validize_mem (sa))); + emit_insn (fcn (stack_pointer_rtx, sa)); seq = gen_sequence (); end_sequence (); emit_insn_after (seq, after); } else - emit_insn (fcn (stack_pointer_rtx, validize_mem (sa))); + emit_insn (fcn (stack_pointer_rtx, sa)); } /* Return an rtx representing the address of an area of memory dynamically |