summaryrefslogtreecommitdiff
path: root/gcc/regmove.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-22 23:05:12 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-03-22 23:05:12 +0000
commit1acb7bafee60357454b4300c0a3ec1c99bd8da1e (patch)
treeb95c435742f995411de347cbf399ff9cd389d453 /gcc/regmove.c
parent45e08618f6f826d14150a11d4bc72ea11db0cb9a (diff)
downloadgcc-1acb7bafee60357454b4300c0a3ec1c99bd8da1e.tar.gz
* regmove.c (combine_stack_adjustments_for_block): Check that
the stack pointer is a valid memory address. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32691 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regmove.c')
-rw-r--r--gcc/regmove.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 8e59c69ce77..932e8503fce 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -2361,6 +2361,7 @@ combine_stack_adjustments_for_block (bb)
&& GET_CODE (XEXP (dest, 0)) == PRE_DEC
&& XEXP (XEXP (dest, 0), 0) == stack_pointer_rtx
&& ! reg_mentioned_p (stack_pointer_rtx, src)
+ && memory_address_p (GET_MODE (dest), stack_pointer_rtx)
&& validate_change (insn, &SET_DEST (set),
change_address (dest, VOIDmode,
stack_pointer_rtx), 0))