This is the mail archive of the gcc@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: 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?





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