This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC/patch] Callgraph based inlining heuristics
- From: Jan Hubicka <jh at suse dot cz>
- To: Steven Bosscher <s dot bosscher at student dot tudelft dot nl>
- Cc: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>,Jan Hubicka <jh at suse dot cz>, gcc at gcc dot gnu dot org
- Date: Mon, 23 Jun 2003 18:12:15 +0200
- Subject: Re: [RFC/patch] Callgraph based inlining heuristics
- References: <Pine.LNX.4.44.0306231731040.582-100000@goofy> <3EF7231D.9090508@student.tudelft.nl>
> >do {
> > inline;
> > tree-optimize;
> >} while (inlined_something)
> >
> This could be _very_ expensive because you need to go in and out of SSA
> form all the time for each function (unless there is a way to inline a
> function while maintaining SSA form; can that be done??), maintain the
> CFG for each function as well as the call graph, and the individual
> passes could be very expensive as well. Not something for the avarage
> -O2 user :-)
It probably don't need to be that bad if we do it only for functions
that appears they may have chance to become inline candidates again but
they are not right now. Then we would examine just small functions this
expensive way.
Updating callgraph during tree-ssa optimization will ineed be funny issue
that should be resolved somewhat.
I think I can easilly manage current CFG code to be contained in one
object so we will have multiple CFGs alive together for analysed
functions (knowing CFG and loop nest is another hint for optimization).
Honza