This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
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.