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: "Dave Korn" <dave dot korn at artimi dot com>
- To: "'Robert Dewar'" <dewar at gnat dot com>, "'Richard Kenner'" <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: <dewar at adacore dot com>, <gcc at gcc dot gnu dot org>
- Date: Tue, 22 Nov 2005 19:02:03 -0000
- Subject: RE: Why doesn't combine like volatiles? (volatile_ok again, sorry!)
Robert Dewar wrote:
> Richard Kenner wrote:
>
>> The issue is that we currently don't combine if volatile is anywhere in
>> sight, whether or not we'd be affecting that access. Just because you
>> have something volatile on the LHS doesn't mean we can't combine into
>> the RHS. A good example are addressing modes: if we have a MEM->MEM
>> copy with one side volatile, doing anything inside the addressing
>> computation of either (even the volatile one) is perfectly safe.
>
> OK, in that case you have to add to the list of restrictions that you
> never combine volatile references.
It's because of the complexity of thinking through all these issues that my
first suggestion was so conservative.
>I did not see that in the list.
Isn't it pretty much implied by point 1, "Not more than one volatile memory
ref appears in the instructions being considered"?
cheers,
DaveK
--
Can't think of a witty .sigline today....