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