OSDN Git Service

* regmove.c (combine_stack_adjustments_for_block): Check that
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 22 Mar 2000 23:05:12 +0000 (23:05 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 22 Mar 2000 23:05:12 +0000 (23:05 +0000)
        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

gcc/ChangeLog
gcc/regmove.c

index 820a0da..9fe40d1 100644 (file)
@@ -1,3 +1,8 @@
+2000-03-21  Stephane Carrez  <stcarrez@worldnet.fr>
+
+       * regmove.c (combine_stack_adjustments_for_block): Check that
+       the stack pointer is a valid memory address.
+
 Wed Mar 22 11:44:50 MET 2000  Jan Hubicka  <jh@suse.cz>
 
        * calls.c: re-install Mar 16 emit_library_call merge.
index 8e59c69..932e850 100644 (file)
@@ -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))