New branch (tree-profling-branch)

Jan Hubicka jh@suse.cz
Mon Feb 16 11:15:00 GMT 2004


Hi,
I am just in the middle of branching new subbranch of tree-ssa
"tree-profiling-branch".  Dale, Stuart and me plan to work there on
extending the lifetime of profile that is currently built just after RTL
loop pass across the whole compilation.  We plan to use it to drive
profiling heuristics and some tree-ssa optimization passes that should
bring considerable performance improvements.  (from experience on RTL
land, profile improve SPEC scores by about 10% on K8, we hope to
improve that score futher)

The branch shall be short lived and merged shortly after tree-ssa is put
to mainline.  It shall contain only patches not acceptable for tree-ssa
(because of freeze that will likely happen soon and the fact that more
intrusive changes are no longer accepted to the tree-ssa branch to avoid
mainline merge issues).

I hope we will be able to keep quality of patches in a way so they can
be submited for review to mainline and not introduce any regressions on
the branch.  I however plan to disable loop optimizer for time being and
hope that work on LNO branch will replace it by CFG transparent
implementation.

The approximate plan is as follows:

1) fix mudflap implementation so it does not clobber tree-SSA profile.
2) unnest nested functions
3) make expansion CFG transparent
4) fix tree-SSA CFG manipulation so it does not clobber profile.
5) make early passes transparent (EH lowering and such) and hope that 
   LNO branch will get the loop optimizer

At this point we will get profile feedback optimizations for tree-SSA :)

6) Move CFG into datastructure so we can have multiple CFGs
7) Make inliner work on lowered Gimple form and figure out what to do
   about EH
8) get profile read soon and annotate cgraph using it.

The branch is not purely about the infrastructure, it we also may
implement some optimizations using the new infrastructure.

Any help is apprechiated, but please contact me before doing something
involved so we don't dupplicate the effort.

Honza



More information about the Gcc mailing list