This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] callgraph and unit at time compilation
Hi,
On Sat, Nov 16, 2002 at 10:11:19AM +0100, Jan Hubicka wrote:
>
> Yes, I would like to have this frontend independent, however at the
> moment inlining it handles is frontend dependent. I tried to keep it
> isolated as much as I can.
> I will take a look at AST's callgraph builder shortly.
>
The role of this call graph builder (dumper) was to externalise call graph
optimizations. For the moment it just dumps the call graph under
a file representation (a parenthesized representation of a graph is in EXP
space... and thus it is a too heavy representation compared to your
implementation that holds the call graph in memory.)
You can see this implementation as the construction of small databases
stored in XML files. The end of the call graph optimization consists in
gathering all these small databases into a global one (linking... ala
Open64's -IPA) and finally on this graph doing all the optimizations.
Open64 uses a WHIRL (AST) dumper, and its output is a .o file.
Compilation is done only at the "linking" time when all the information
about a project is gathered in a global AST. On this AST a call graph is
built and then optimized. An overview of Open64's architecture can be found at:
http://www-rocq.inria.fr/~pop/doc/ipa.html
The reason I implemented this dumper was to refine the implementation of
the c-pretty printer for all the functions nodes.
Of course another reason was for playing a little with the call graph :-)
Sebastian