This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Why doesn't combine like volatiles? (volatile_ok again, sorry!)
- From: Mike Stump <mrs at apple dot com>
- To: Dave Korn <dave dot korn at artimi dot com>
- Cc: "'Richard Earnshaw'" <rearnsha at gcc dot gnu dot org>, "'Ian Lance Taylor'" <ian at airs dot com>, gcc at gcc dot gnu dot org
- Date: Mon, 28 Nov 2005 10:14:35 -0800
- Subject: Re: Why doesn't combine like volatiles? (volatile_ok again, sorry!)
- References: <SERRANODll7fnp3eEHJ000001cb@SERRANO.CAM.ARTIMI.COM>
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