[PATCH] Tree SRA and atomicity/volatility

Mike Stump mrs@apple.com
Fri Jan 26 19:21:00 GMT 2007


On Jan 26, 2007, at 5:19 AM, Richard Kenner wrote:
> I think the point here is that writing it down at the level you  
> suggested

You read way to much into it, if you look again, I didn't state that  
we should overspecify it, I said that we had the freedom to talk  
about chipset, if we waned to.  A language standard cannot.  A  
compiler implementation can, if it _wants_ to, if it _needs_ to.   
Again, let me repeat, I'm not arguing that it needs to.

Let me give you an example, let's say that we have two volatile  
objects and an operation to perform on them.  Let's say the machine  
we're generating code for doesn't have that operation, but that it  
can be decomposed into smaller operations.  We are free to document  
the backend must not decompose the operation and leave the volatile  
objects as operands.  Or, we are free to leave it unspecified.  Ada  
might even have a mandate here.  C might as well.  I don't think I've  
seen it argued here if decomposition is allowed or not.  Now, this  
might be so trivial to those in the know that can't believe anyone  
would get something so basic wrong, and yet, I can see an expander  
for an operation split things up, fail to check for volatile.  The  
documentation would be so that people that might not know the answer  
to read it once, and then have a firm, specific grasp on the subject  
matter so that to them it is then perfectly clear decomposition is  
wrong, obvious if you will.



More information about the Gcc-patches mailing list