diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/resource.c | 6 | ||||
-rw-r--r-- | gcc/rtlanal.c | 2 |
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. */ |