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: [tree-ssa] PATCH to gimplify_asm_expr for optimization/12525


On Wed, 2003-10-08 at 12:05, Richard Henderson wrote:
> On Wed, Oct 08, 2003 at 09:20:30AM -0400, Diego Novillo wrote:
> > addresses_taken is an array with all the decls that have had their
> > address taken by the statement (ie, they are operands of ADDR_EXPRs
> > inside the statement).
> 
> Yes, but what is is used for?
>
In must-alias, mainly.  After propagation of ADDR_EXPR into INDIREC_TREF
and DCE, all the variables that have their address taken cannot be
promoted by must-alias.

> And why bother keeping such an
> array rather than searching for them when needed.  And when
> can there be more than exactly one?
> 
I was going to mention CALL_EXPRs and ASM_EXPRs, but I think that's
changed now.  It shouldn't be hard to check whether an array is really
needed.

It's computed by get_stmt_operands mainly because it's the one place
where we recurse into each statement tree looking for operands and other
tidbits.  But, since it's only used in must-alias, we should probably
just move that out of get_stmt_operands.


Diego.


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