reload1.c (move2add_note_store): Check for simple auto-inc in destination.
authorJoern Rennecke <amylaar@redhat.co.uk>
Wed, 18 Oct 2000 02:26:26 +0000 (02:26 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 18 Oct 2000 02:26:26 +0000 (20:26 -0600)
        * reload1.c (move2add_note_store): Check for simple
        auto-inc in destination.

From-SVN: r36923

gcc/ChangeLog
gcc/reload1.c

index e613ec6308467d70097efa0e9c89a8bf6c958962..762bf65e6cc404e79d44866f2bea04d96bf3e79a 100644 (file)
@@ -1,3 +1,8 @@
+2000-10-17  Joern Rennecke <amylaar@redhat.co.uk>
+
+       * reload1.c (move2add_note_store): Check for simple
+       auto-inc in destination.
+
 2000-10-17  Michael Chastain  <chastain@redhat.com>
 
        * config/i386/i386-aout.h: define INT_ASM_OP.
index 5a919c4ee15bf4091fc89504a456b24d4372f273..f90897adcacc646d977fa68644a1e7538abdcb91 100644 (file)
@@ -9024,6 +9024,20 @@ move2add_note_store (dst, set, data)
       dst = SUBREG_REG (dst);
     }
 
+  /* Some targets do argument pushes without adding REG_INC notes.  */
+
+  if (GET_CODE (dst) == MEM)
+    {
+      dst = XEXP (dst, 0);
+      if (GET_CODE (dst) == PRE_INC || GET_CODE (dst) == POST_DEC
+         || GET_CODE (dst) == PRE_DEC || GET_CODE (dst) == POST_DEC)
+       {
+         regno = REGNO (XEXP (dst, 0));
+         reg_set_luid[regno] = move2add_luid;
+         reg_offset[regno] = dst;
+       }
+      return;
+    } 
   if (GET_CODE (dst) != REG)
     return;