This is the mail archive of the gcc-patches@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: [PATCH] Tree SRA and atomicity/volatility


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.


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