This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 4.2.0 Status Report (2007-03-22)
On 3/30/07, Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 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?