From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28859 invoked by alias); 12 Jul 2011 18:10:18 -0000 Received: (qmail 28851 invoked by uid 22791); 12 Jul 2011 18:10:17 -0000 X-SWARE-Spam-Status: No, hits=-6.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,TW_LC,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 12 Jul 2011 18:10:03 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p6CIA3o6018658 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 12 Jul 2011 14:10:03 -0400 Received: from [10.16.3.196] (dhcp-100-3-196.bos.redhat.com [10.16.3.196]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p6CIA2QK031522; Tue, 12 Jul 2011 14:10:02 -0400 Subject: Re: A visualization of GCC's passes, as a subway map From: David Malcolm To: Joel Sherrill Cc: Paolo Bonzini , "gcc@gcc.gnu.org" , "gcc-python-plugin@lists.fedorahosted.org" In-Reply-To: <4E1C4D63.3030900@oarcorp.com> References: <1310406999.23887.34257.camel@surprise> <4E1BF650.1010503@gnu.org> <4E1C4D63.3030900@oarcorp.com> Content-Type: text/plain; charset="UTF-8" Date: Tue, 12 Jul 2011 18:29:00 -0000 Message-ID: <1310494025.23887.35793.camel@surprise> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2011-07/txt/msg00197.txt.bz2 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