aboutsummaryrefslogtreecommitdiff
path: root/gcc/explow.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1992-05-29 16:14:01 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1992-05-29 16:14:01 -0400
commitd072107f2332b70700b7fbd9b27c802ff3cef1a2 (patch)
tree58f1800da40cd60401172f6ceb339fe259f134c8 /gcc/explow.c
parentf0a45d37ea0f0a85b25aef0b62899611aa8e401c (diff)
downloadgcc-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.c14
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