This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] Make PHI nodes reachable by GGC


> Richard Henderson <rth@redhat.com> writes:
> 
> > On Sat, Nov 29, 2003 at 01:11:14AM +0100, Jan Hubicka wrote:
> > > We have no way to expose the fact that there are multiple linked lists
> > > per node, so we probably need some extension to deal with this more
> > > nicely.
> > 
> > When do we need this?
> > 
> > Iteration should begin with the bb->next list.  Now all blocks are
> > marked (but not their subobjects).  Next, we begin marking subobjects
> > of blocks, namely edges.  Choose the next link associated with the
> > edge list that will be traversed first.  That is, if we mark bb->prev
> > first, then make bb->prev_next the next link.
> > 
> > I would expect this to take care of the bulk of the problem.  Failing
> > that, extend gengtype to handle multiple next links.  Shouldn't be hard.
> 
> gengtype can either:
> 
> (a) already do this, or
> (b) can't do this because it's impossible
> 
> depending on what you mean.
> 
> For (a), look at RTX_NEXT and RTX_PREV and how they're used; but
> forget how RTX_NEXT is defined, that's a horrible hack.  RTX_PREV is
> nicer.

Actually it seems that all we need is simple prev/next declarations for
one of linked chains used on each edge to prevent large recursion
depths.  I've discussed this with Steven a bit and I will wait for the
zone colector before doing this.
So I would like the current patch to get PHI array on the side to get in
until this is done.

Honza
> 
> -- 
> - Geoffrey Keating <geoffk@geoffk.org>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]