diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d528a79dd62..0316406c4c1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Thu May 6 20:34:00 1999 Mark Mitchell + + * resource.c (mark_referenced_resources): Make volatil + monotonically increasing. + (mark_set_resources): Likewise. + Thu May 6 20:02:33 1999 Fred Fish * rs6000/xm-beos.h (HAVE_VPRINTF): Don't redefine if already defined. diff --git a/gcc/resource.c b/gcc/resource.c index bc214a3dc23..ddf7df5d707 100644 --- a/gcc/resource.c +++ b/gcc/resource.c @@ -221,7 +221,7 @@ mark_referenced_resources (x, res, include_delayed_effects) res->unch_memory = 1; else res->memory = 1; - res->volatil = MEM_VOLATILE_P (x); + res->volatil |= MEM_VOLATILE_P (x); /* Mark registers used to access memory. */ mark_referenced_resources (XEXP (x, 0), res, 0); @@ -242,7 +242,7 @@ mark_referenced_resources (x, res, include_delayed_effects) break; case ASM_OPERANDS: - res->volatil = MEM_VOLATILE_P (x); + res->volatil |= MEM_VOLATILE_P (x); /* For all ASM_OPERANDS, we must traverse the vector of input operands. We can not just fall through here since then we would be confused @@ -710,8 +710,8 @@ mark_set_resources (x, res, in_dest, include_delayed_effects) if (in_dest) { res->memory = 1; - res->unch_memory = RTX_UNCHANGING_P (x); - res->volatil = MEM_VOLATILE_P (x); + res->unch_memory |= RTX_UNCHANGING_P (x); + res->volatil |= MEM_VOLATILE_P (x); } mark_set_resources (XEXP (x, 0), res, 0, 0); @@ -750,7 +750,7 @@ mark_set_resources (x, res, in_dest, include_delayed_effects) break; case ASM_OPERANDS: - res->volatil = MEM_VOLATILE_P (x); + res->volatil |= MEM_VOLATILE_P (x); /* For all ASM_OPERANDS, we must traverse the vector of input operands. We can not just fall through here since then we would be confused