summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/resource.c6
-rw-r--r--gcc/rtlanal.c2
3 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 30f18bedf66..6113012ef7d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2000-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+ * resource.c (mark_set_resources): Use MARK_SRC_DEST for
+ PRE_MODIFY and POST_MODIFY cases.
+
+ * rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY.
+
+2000-12-22 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
* md.texi (Looping Patterns): New node.
2000-12-21 Joseph S. Myers <jsm28@cam.ac.uk>
diff --git a/gcc/resource.c b/gcc/resource.c
index 4faaedf9a81..979de4d5cc9 100644
--- a/gcc/resource.c
+++ b/gcc/resource.c
@@ -723,9 +723,9 @@ mark_set_resources (x, res, in_dest, mark_type)
case PRE_MODIFY:
case POST_MODIFY:
- mark_set_resources (XEXP (x, 0), res, 1, 0);
- mark_set_resources (XEXP (XEXP (x, 1), 0), res, 0, 0);
- mark_set_resources (XEXP (XEXP (x, 1), 1), res, 0, 0);
+ mark_set_resources (XEXP (x, 0), res, 1, MARK_SRC_DEST);
+ mark_set_resources (XEXP (XEXP (x, 1), 0), res, 0, MARK_SRC_DEST);
+ mark_set_resources (XEXP (XEXP (x, 1), 1), res, 0, MARK_SRC_DEST);
return;
case SIGN_EXTRACT:
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 00aebf47558..a19ebeff81e 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -1849,6 +1849,8 @@ side_effects_p (x)
case PRE_DEC:
case POST_INC:
case POST_DEC:
+ case PRE_MODIFY:
+ case POST_MODIFY:
case CALL:
case UNSPEC_VOLATILE:
/* case TRAP_IF: This isn't clear yet. */