This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: WITH_SIZE_EXPR
- From: Richard Henderson <rth at redhat dot com>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 20 Jul 2004 12:50:34 -0700
- Subject: Re: WITH_SIZE_EXPR
- References: <10407201924.AA06285@vlsi1.ultra.nyu.edu>
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~