Re: A visualization of GCC's passes, as a subway map

2011-07-14 Thread Michael Matz
Hi, On Thu, 14 Jul 2011, Paolo Bonzini wrote: > On 07/14/2011 11:11 AM, Richard Guenther wrote: > > > > > > Hm, why? complex operations are lowered after a complex lowering > > > > > > pass > > > > > > has executed. they are still lowered on RTL, so I don't see why we > > > > > > need > > >

Re: A visualization of GCC's passes, as a subway map

2011-07-14 Thread Paolo Bonzini
On 07/14/2011 11:11 AM, Richard Guenther wrote: >> Hm, why? complex operations are lowered after a complex lowering pass >> has executed. they are still lowered on RTL, so I don't see why we need >> to destroy them technically. > > Because it's PROP_*gimple*_lcx.:) Shouldn't it then be PR

Re: A visualization of GCC's passes, as a subway map

2011-07-14 Thread Richard Guenther
On Wed, Jul 13, 2011 at 3:15 PM, Paolo Bonzini wrote: > On 07/13/2011 12:54 PM, Richard Guenther wrote: >> >> >  Yes, PROP_gimple_lcx needs to be added to PROP_trees.  I cannot approve >> > the >> >  patch, unfortunately. >> >> Hm, why?  complex operations are lowered after a complex lowering pass

Re: A visualization of GCC's passes, as a subway map

2011-07-13 Thread Paolo Bonzini
On 07/13/2011 12:54 PM, Richard Guenther wrote: > Yes, PROP_gimple_lcx needs to be added to PROP_trees. I cannot approve the > patch, unfortunately. Hm, why? complex operations are lowered after a complex lowering pass has executed. they are still lowered on RTL, so I don't see why we need

Re: A visualization of GCC's passes, as a subway map

2011-07-13 Thread Richard Guenther
On Wed, Jul 13, 2011 at 11:49 AM, Paolo Bonzini wrote: > On 07/12/2011 06:07 PM, David Malcolm wrote: >> >> On this build of GCC (standard Fedora 15 gcc package of 4.6.0), the >> relevant part of cfgexpand.c looks like this: >> >> struct rtl_opt_pass pass_expand = >> { >>  { >>   RTL_PASS, >>   "e

Re: A visualization of GCC's passes, as a subway map

2011-07-13 Thread Paolo Bonzini
On 07/12/2011 06:07 PM, David Malcolm wrote: On this build of GCC (standard Fedora 15 gcc package of 4.6.0), the relevant part of cfgexpand.c looks like this: struct rtl_opt_pass pass_expand = { { RTL_PASS, "expand", /* name */ [...snip...] PROP_ssa | PROP_g

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread Tom Tromey
> "David" == David Malcolm writes: David> This would be good. However, looking at, say, David> http://gcc.gnu.org/onlinedocs/gccint/Tree-SSA-passes.html#Tree-SSA-passes David> I don't see meaningful per-pass anchors there. I'm not familiar with David> gcc's documentation toolchain; is ther

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread David Malcolm
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 de

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread Xinliang David Li
On Tue, Jul 12, 2011 at 10:55 AM, David Malcolm wrote: > On Tue, 2011-07-12 at 09:15 -0700, Xinliang David Li wrote: >> FYI. If you just want text dump of gcc passes and their on|off >> settings, option -fdump-passes can be used. This can be enhanced to >> dump properties and TODOs. > > Thanks! >

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread David Malcolm
On Tue, 2011-07-12 at 09:15 -0700, Xinliang David Li wrote: > FYI. If you just want text dump of gcc passes and their on|off > settings, option -fdump-passes can be used. This can be enhanced to > dump properties and TODOs. Thanks! I got a bit mystified by: $ gcc -fdump-passes test.c cc1: e

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread David Malcolm
On Tue, 2011-07-12 at 11:43 +0800, Mingjie Xing wrote: > 2011/7/12 David Malcolm : > > For fun over the weekend I wrote a python script (using my > > gcc-python-plugin[1]) to render an SVG diagram of GCC's optimization > > passes (or, at least, based on my understanding of them). > > > > This diagr

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread Xinliang David Li
FYI. If you just want text dump of gcc passes and their on|off settings, option -fdump-passes can be used. This can be enhanced to dump properties and TODOs. David On Tue, Jul 12, 2011 at 9:07 AM, David Malcolm wrote: > On Tue, 2011-07-12 at 09:43 +0100, Paulo J. Matos wrote: >> On 12/07/11 08:2

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread David Malcolm
On Tue, 2011-07-12 at 09:43 +0100, Paulo J. Matos wrote: > On 12/07/11 08:22, 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 des

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread Paulo J. Matos
On 12/07/11 17:04, Paolo Bonzini wrote: It shows bugs in GCC's pass description, to be clear. Paolo That makes sense. -- PMatos

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread Paolo Bonzini
On 07/12/2011 10:43 AM, Paulo J. Matos 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... But the diagram s

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread Joel Sherrill
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 introdu

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread Paulo J. Matos
On 12/07/11 08:22, 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

Re: A visualization of GCC's passes, as a subway map

2011-07-12 Thread Paolo Bonzini
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... Paolo

Re: A visualization of GCC's passes, as a subway map

2011-07-11 Thread Mingjie Xing
2011/7/12 David Malcolm : > For fun over the weekend I wrote a python script (using my > gcc-python-plugin[1]) to render an SVG diagram of GCC's optimization > passes (or, at least, based on my understanding of them). > > This diagram shows the various GCC optimization passes, arranged > vertically

A visualization of GCC's passes, as a subway map

2011-07-11 Thread David Malcolm
For fun over the weekend I wrote a python script (using my gcc-python-plugin[1]) to render an SVG diagram of GCC's optimization passes (or, at least, based on my understanding of them). This diagram shows the various GCC optimization passes, arranged vertically, showing child passes via indentatio