From: Jim Wilson Date: Fri, 12 Nov 1999 04:34:37 +0000 (+0000) Subject: Fix yet another gcc2 merge problem, this one broke linux kernel compiles X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d5e3f1513fdfd98ca59738d1fa3ae05b5a766bb5;p=gcc.git Fix yet another gcc2 merge problem, this one broke linux kernel compiles Fix yet another gcc2 merge problem, this one broke linux kernel compiles * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back. From-SVN: r30496 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a27282e652b..feb87ed6bdd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ Thu Nov 11 19:45:24 1999 Jim Wilson + * loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back. + * dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large unsigned types. diff --git a/gcc/loop.c b/gcc/loop.c index 3f61671a9aa..eb7681f9ea4 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -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