[tree-ssa] Garbage collector x bb annotations
Geoff Keating
geoffk@geoffk.org
Wed Oct 8 22:58:00 GMT 2003
> X-Original-To: geoffk@foam.wonderslug.com
> Date: Wed, 8 Oct 2003 23:37:22 +0200
> From: Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
> Cc: "gcc@gcc.gnu.org" <gcc@gcc.gnu.org>
> Content-Disposition: inline
> User-Agent: Mutt/1.3.28i
> X-OriginalArrivalTime: 08 Oct 2003 21:31:52.0656 (UTC) FILETIME=[96F9ED00:01C38DE3]
>
> Hello,
>
> > > > > I have just run into the following problem: dom_children get released by
> > > > > ggc_collect call in tree-ssa-pre. Allocating them by ggc seems wrong to
> > > > > me, since basic block annotations are allocated from obstack and
> > > > > invisible to garbage collector.
> > > > >
> > > > Yeah. But there's more than that, unfortunately. All the fields in
> > > > struct bb_ann_d are ggc allocated. The real solution would be to
> > > > finally convert basic blocks to ggc. Volunteers?
> > >
> > > I may try (I need it anyway for tree-ssa-cfg branch). The whole issue
> > > is however quite ugly as this combines basically all allocation
> > > mechanisms that are available in gcc (basic blocks themselves are pool
> > > allocated).
> >
> > It's not that ugly to make the fix, you simply have to throw out all
> > those other allocation mechanisms and use ggc.
>
> that's not really a good idea. Their purpose is to improve data
> locality, and changing this would slow down things.
Plus, right now the compiler crashes, which is much faster than all
that tedious code generation...
The right thing to do is to allow GC to improve data locality. I
believe Dan Berlin had some patches for this, although I don't know
their state.
--
- Geoffrey Keating <geoffk@geoffk.org>
More information about the Gcc
mailing list