A visualization of GCC's passes, as a subway map
David Malcolm
dmalcolm@redhat.com
Tue Jul 12 18:29:00 GMT 2011
On Tue, 2011-07-12 at 08:34 -0500, Joel Sherrill wrote:
> On 07/12/2011 02:22 AM, Paolo Bonzini wrote:
> > On 07/11/2011 07:56 PM, David Malcolm wrote:
> >> Hope this is fun/helpful (and that I'm correctly interpreting the data!)
> > You are, and it shows some bugs even. gimple_lcx is obviously destroyed
> > by expand, and I find it unlikely that no pass ever introduces a
> > critical edge...
> >
> David deserves a pat on the back. This is a nice way to
> visualize this. It is complicated and hard to grok otherwise.
Thanks!
> This would be a great addition to gcc internals documentation.
> Especially if you could click on each pass and get to a description.
This would be good. However, looking at, say,
http://gcc.gnu.org/onlinedocs/gccint/Tree-SSA-passes.html#Tree-SSA-passes
I don't see meaningful per-pass anchors there. I'm not familiar with
gcc's documentation toolchain; is there a way to add the necessary
anchors to the generated HTML?
(I assume that that page and its sisters from
http://gcc.gnu.org/onlinedocs/gccint/Passes.html
are the canonical documentation on each pass).
(FWIW, currently all I have at the python end is the "name" field of the
plugin; I don't have the C identifier of the function that implements
the pass - though perhaps that could be scraped at plugin build time,
which would of course be ugly)
Dave
More information about the Gcc
mailing list