This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally
- From: Richard Biener <rguenther at suse dot de>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: Jakub Jelinek <jakub at redhat dot com>, Bernd Schmidt <bernds at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, vmakarov at redhat dot com, "William J. Schmidt" <wschmidt at linux dot vnet dot ibm dot com>, David Edelsohn <dje at gcc dot gnu dot org>
- Date: Fri, 12 Apr 2013 09:52:27 +0200 (CEST)
- Subject: Re: [PATCH][RFC] Remove TODO_ggc_collect, collect unconditionally
- References: <alpine dot LNX dot 2 dot 00 dot 1303191327310 dot 3543 at zhemvz dot fhfr dot qr> <alpine dot LNX dot 2 dot 00 dot 1303191518000 dot 3543 at zhemvz dot fhfr dot qr> <alpine dot LNX dot 2 dot 00 dot 1303191634460 dot 3543 at zhemvz dot fhfr dot qr> <5166888E dot 3080906 at codesourcery dot com> <alpine dot LNX dot 2 dot 00 dot 1304111201470 dot 21094 at zhemvz dot fhfr dot qr> <51668C71 dot 2090004 at codesourcery dot com> <alpine dot LNX dot 2 dot 00 dot 1304111220140 dot 21094 at zhemvz dot fhfr dot qr> <20130411103349 dot GM16463 at tucnak dot redhat dot com> <alpine dot LNX dot 2 dot 00 dot 1304111239350 dot 21094 at zhemvz dot fhfr dot qr> <CABu31nNAqZ7huS-s=ntBEZYrvy3oi4hkpWvY1t0CEPtjYVRBQQ at mail dot gmail dot com>
On Fri, 12 Apr 2013, Steven Bosscher wrote:
> On Thu, Apr 11, 2013 at 12:47 PM, Richard Biener wrote:
> > That said - I'm positively sure I will hit the IRA / reload
> > issue again when adding mandatory IL verification (though
> > for that they can simply drop the properties).
> > So, if we ignore that "GC boundary" is global we can add
> > PROP_gc_safe, provided by default, removed by IRA and
> > re-added by reload.
> What about the various pieces of GC-unsafe "black box" objects like
> edge->aux, basic_block->aux, loop->aux, etc.?
> E.g. PR56921 looks like a "struct niter_desc" gets garbage collected
> even though a loop still points to it via its aux field (NB I'm just
> guessing, not verified).
I don't see how we were "safe" here before this patch. Yes,
appearantly we didn't collect between those passes - but that
appears to be for no good reason as breaking the GC barrier
would certainly be a good reason for a comment.
Which means that for the resolution of this thread we probably
want to settle on TODO_no_ggc_collect which is quite explicit.
Oh, but please document _what_ is the data that is kept live
cross-pass at the point you add TODO_no_ggc_collect.