This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Why doesn't combine like volatiles? (volatile_ok again, sorry!)


On Nov 28, 2005, at 9:29 AM, Dave Korn wrote:
BTW, I never did manage to find the patches you referred to in your postings
from summer 2000. Googling for "mike stump volatile_ok" just kept on finding
me the post where you were advising someone to find your patches by searching
for your name and volatile_ok. Kinda recursive, that.... do you still have a
pointer to them?

As background for others,


http://gcc.gnu.org/ml/gcc-bugs/1999-12n/msg00801.html

has an example of why one would want to do this.

Anyway, not rocket science:

Doing diffs in .:
--- ./recog.c.~1~       2005-10-28 10:40:18.000000000 -0700
+++ ./recog.c   2005-11-28 10:10:31.000000000 -0800
@@ -956,9 +956,6 @@ general_operand (rtx op, enum machine_mo
     {
       rtx y = XEXP (op, 0);

-      if (! volatile_ok && MEM_VOLATILE_P (op))
-       return 0;
-
       /* Use the mem's mode, since it will be reloaded thus.  */
       if (memory_address_p (GET_MODE (op), y))
        return 1;
--------------

Good for testing, but a real patch would have to:

http://gcc.gnu.org/ml/gcc/2001-11/msg00398.html


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]