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: Patch to allow Ada to work with tree-ssa


    Adding a bit to a type node to say whether or not you need to do the 
    expensive check (iterating through the FIELD_DECLs) is surely not gated 
    by RTH's changes.  And, desirable no matter what you do eventually -- 
    knowing which types have this uncommon feature cannot but help.

That wasn't the way I was planning on doing it.  The idea was to descend into
all types that have a DECL_EXPR as part of processing that node.  The problem
isn't just the performance hit of looking when you don't have to but also
that it's looking at the wrong *time*.  If you want to maintain a reasonable
ordering of code generation, you want to do this only on the declaration.

Yes, I could kludge this with a flag and then fix it "properly" later, but
since the proper fix is *already* something we want to do for other reasons
and it'll be done within a day or two anyway, we can live with the
performance issues for a couple of days: it's not worth the cost (mostly in
terms of testing) to do it twice.

(Doing it the way I'm planning on will give a front end complete control on
which types are examined since it need not give a DECL_EXPR for types that
have nothing variable in them.)

Note that we also have this issue with decls: we don't want to walk
the size fields there either except when the decl is in a DECL_EXPR.


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