diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 30f18bedf66..6113012ef7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2000-12-22 Michael Hayes + + * 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 * md.texi (Looping Patterns): New node. 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. */