Hi,
> 
> Jan, wrt the optimization plan coming out of the analysis phase, and the 
> various pieces of header/summary information, what do you think are the 
> major pieces we need?

The cgraph used to be organized on a separate analysis, propagation and
modify stages and the passes in implemented fall quite naturally into
those pieces. Naturally it is limiting ellement, but not that bad and
for some fancier passes I am sure we can arrange interesting things to
be compiled at once or something like that.

As discussed with Kenny in the past, there are ordering issues - ie one
pass might invalidate info of other so there is a lot of interference
that makes it more challenging to order the IPA pass queue than for
all-in-memory IPA consisting of couple of completely independent passes.

We will need better memory management for Gimple, have effective way to
load function body into memory and actually cheaply release it when it
is no longer needed that is quite challenging with GGC.  I would hope
that in longer term we can move tupleized gimple into pools.

I also have sort of implementation plan TODO, I never got around putting
it into wiki well, but I will try to check how much ours differ and
update it.  One area that is quite nasty WRT LTO is debug info.

Honza
> 
> In terms of branch mechanics, I'm initially tempted to do this 
> implementation on a branch separate from tuples and lto.  This will 
> allow us to merge both lto and tuples separately, as the rest of the 
> optimizer is still a long ways away.  What do folks think?
> 
> 
> Thanks.  Diego.

Reply via email to