This is the mail archive of the gcc-patches@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: [tree-ssa] Removal of gotos from cfg based ir


On Fri, Nov 14, 2003 at 05:13:19PM -0700, law@redhat.com wrote:
> And, so with this in mind, what state should we be passing to 
> to the tree_rest_of_compilation routine.

I'm not sure.  Mostly because I don't think this should actually
be in the official front end interface at all.

The real front-end -> optimizer interface should be cgraph.h.

The front end tells cgraph about all of the symbols in the
translation unit, then cgraph decides whether and how the
symbols will be emitted.  tree_rest_of_compilation would be
part of the interface from cgraph to the code generators, but
whether in its current form or not, I don't know.

This is mostly dependent on what we want to do with tree-inlining.
At the moment we don't even do trivial cleanups before inlining.
Doing something here might well (1) save time and memory, and 
(2) change inlining decisions.

> Today, we have the IL, EH lookaside data and probably other data I
> don't want to think about stored in global structures like the symbol
> table.

The EH lookaside data is built in tree_rest_of_compilation, so I
would not include that in t_r_o_c's interface.

The EH lookaside data *is* part of the rtl IL.  Note that the old
rtl inliner knows how to replicate that data and splice it in to
the caller's EH data.  Ugly stuff.  But it is done and works should
we ever decide to do post optimization tree inlining.

> With Zdenek's change, the passed state would include the CFG.

Likewise.  That's part of the (rtl) rest_of_compilation interface,
but, frankly, rest_of_compilation by rights should be swallowed by
tree_rest_of_compilation.  You shouldn't be able to call the rtl
bits without calling the tree bits.


r~


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