This is the mail archive of the
mailing list for the GCC project.
Re: proposal for compilation unil wide alias analyis
- From: Jan Hubicka <jh at suse dot cz>
- To: Kenneth Zadeck <zadeck at naturalbridge dot com>
- Cc: Jan Hubicka <jh at suse dot cz>, gcc at gcc dot gnu dot org,Stuart Hastings <stuart at apple dot com>,Geoffrey Keating <geoffk at apple dot com>,Mark Mitchell <mark at codesourcery dot com>,Devang Patel <dpatel at apple dot com>,"Novillo, Diego" <dnovillo at redhat dot com>,"Berlin, Daniel" <dberlin at dberlin dot org>,"Edelsohn, David" <dje at watson dot ibm dot com>,Dale Johannesen <dalej at apple dot com>, Ron Price <ronp at apple dot com>
- Date: Sat, 26 Jun 2004 12:31:28 +0200
- Subject: Re: proposal for compilation unil wide alias analyis
- References: <40DB07B2.firstname.lastname@example.org> <20040625220852.GA17010@kam.mff.cuni.cz> <40DCA5D1.email@example.com>
> I will look into this, and indeed I would rather work off the main line
> than this line.
> However what you say here seems to confict with what I was told by others.
> I was told by diego that the main line built the call graph over parse
> trees. I was told by stuart hastings that if I wanted to do my work
> over gimplified functions, I would either have to do it myself or use
> this branch. In fact I only discovered this branch because stuart saw a
> note I sent to his (an my) manager, Ron Price.
THere is ineed a lot of confussion around this issue. My understanding
of the issue is that we used to build over parse tree, but we don't do
that anymore (ie cgraph builder is still designed for parse trees but it
works with gimple just as well). Note that gimple has high and low
form. In the high form you have 3-address form of expressions but you
still have C-like control flow (ie ifs/fors and such).
Before Stuart's patch you will see highlevel gimple, after his patch you
will see lowleve gimple.
For control flow insensitive analysis (where you just want to walk all
statements in the function, ignoring any particular order), the only
difference for you is that you need to use different iterators (ie tree
statement instead of block statement), but this minnor difference can be
changed any time we manage to get Stuart's patch trought.
> I have just started looking at the profiling code to see where I want to
> attach my hooks. When I find what I want, I will go back and see if the
> same code exists on the main branch. As far actually using the
> information, I would not expect to touch files that you have modified.
The tree-profiling branch in its current form has little extra to offer
you. The main change (reorganization of the expansion of trees into
RTL) is already merged to mainline since last week. The branch now
contains number of fixes and tweaks into tree profiling and static
profile estimation code that are unlikely any help for you.
For the lowlevel gimple, you need Stuart's work in progress patch that
is currently on the top of it.