diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/loop.c | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a27282e..feb87ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Thu Nov 11 19:45:24 1999 Jim Wilson <wilson@cygnus.com> + * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back. + * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large unsigned types. @@ -3301,6 +3301,12 @@ invariant_p (x) return VARRAY_INT (set_in_loop, REGNO (x)) == 0; case MEM: + /* Volatile memory references must be rejected. Do this before + checking for read-only items, so that volatile read-only items + will be rejected also. */ + if (MEM_VOLATILE_P (x)) + return 0; + /* If we had a subroutine call, any location in memory could have been clobbered. We used to test here for volatile and readonly, but true_dependence knows how to do that better |