On 3/30/07, Richard Kenner <[EMAIL PROTECTED]> wrote:
> The aliaser is fairly aggressive at removing TREE_ADDRESSABLE from
> variables that do not need it anymore, so that should not be a problem.

Yes, but you're calling the lang hook, which in theory, is allowed
to do all sorts of different things.  How do those get undone when we find
*they* aren't needed?

The lang hook is supposed to mark the variable as addressable.
The lang hook should not be changing other things that have an affect
on the *middle end*.  No exceptions.

Moreover, what if what you're taking the address of is a COMPONENT_REF
or some such.  Are we saying that's not allowed anymore?  Some lang-hooks
look through them to set TREE_ADDRESSABLE on the underlying decl, but
your patch only calls it on a DECL_P.
What are you talking about?
The aliaser will remove tree addressable from DECL's if they do not
have their address taken.  This includes removing addressable from "a"
if we had &a.b.c.d, it was the only address taking of a, and later
eliminated it.

I think we need to step back a bit and get a definition we can all agree on
here first.

A definition of what, exactly?


Reply via email to