aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoern Rennecke <amylaar@redhat.co.uk>2000-10-18 02:26:26 +0000
committerJeff Law <law@gcc.gnu.org>2000-10-17 20:26:26 -0600
commit19ca869b6dbfc8437cb4e2685b514ee586a4fbaa (patch)
tree8350d78ea08bb60ee7acaac8cca69990d8785e1e /gcc
parent2ddb1ca16110937641707c3180cc5394b853d2be (diff)
downloadgcc-19ca869b6dbfc8437cb4e2685b514ee586a4fbaa.zip
gcc-19ca869b6dbfc8437cb4e2685b514ee586a4fbaa.tar.gz
gcc-19ca869b6dbfc8437cb4e2685b514ee586a4fbaa.tar.bz2
reload1.c (move2add_note_store): Check for simple auto-inc in destination.
* reload1.c (move2add_note_store): Check for simple auto-inc in destination. From-SVN: r36923
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload1.c14
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e613ec6..762bf65 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 5a919c4..f90897a 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -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;