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: Volatile MEMs in statement expressions and functions inlined as trees


On Dec 13, 2001, Linus Torvalds <torvalds@transmeta.com> wrote:

> So clearly "p = 0" is _not_ equivalent to "(p = 0, &p)", and claiming it
> is equivalent is just stupid and misguided.

If you read &p as `p as a reference', not as `pointer to p', it does
make sense to me.  But I think your reading of the standard makes even
more sense, and I'm willing to implement it, as long as we have
general agreement that this is the way to go.

Regardless, I'd appreciate if someone could review (and approve) the
patch I posted on Dec 5.  It doesn't address the issue of removing the
needless re-loading after assignments.  Rather, it fixes a different
problem, which is that of excess loading from volatile mems in other
contexts.

Yes, it doesn't have a testcase yet, mostly because it doesn't make
much sense to post a relatively large testcase now if the number of
accesses is going to have to be adjusted afterwards.  So, as soon as
we settle down this issue, I'll come up with a patch to implement it,
along with a testcase that verifies that the patch delivers the agreed
upon semantics.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me


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