This is the mail archive of the gcc@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: WITH_SIZE_EXPR


On Tue, Jul 20, 2004 at 03:24:56PM -0400, Richard Kenner wrote:
> Can you say more about the definition of that flag?  Precisely what
> is one allowed to assume when it's set

This models an assignment, or a call to memcpy.  We know that
the called function does not retain the address of the object.
Further, we know that it's a killing set of the object -- the
old data in the object is dead on entry to the function.

As always, the called function knows that the structure return
address does not alias anything.  Which means that the caller
cannot use this flag unless it can verify that this holds.

> ... and is there a particular place
> in the argument list where the return slot is presumed to reside?

First.  It's popped off the front before the real arguments are
set up.  Of course, if structure return addresses are passed as
an argument, it gets put right back on, but some targets put that
data elsewhere.



r~


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