summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/resource.c10
2 files changed, 11 insertions, 5 deletions
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 <mark@codesourcery.com>
+
+ * resource.c (mark_referenced_resources): Make volatil
+ monotonically increasing.
+ (mark_set_resources): Likewise.
+
Thu May 6 20:02:33 1999 Fred Fish <fnf@be.com>
* 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