This is the mail archive of the
mailing list for the GCC project.
Re: mainline "exploding"
> > Date: Wed, 15 Oct 2003 22:30:33 +0200
> > From: Jan Hubicka <firstname.lastname@example.org>
> > > On Wed, 2003-10-15 at 10:57, Geoff Keating wrote:
> > > > Mark Mitchell <email@example.com> writes:
> > > >
> > > > > I think we should make -funit-at-a-time the default at this point, if it
> > > > > is passing test suites.
> > > > >
> > > > > In fact, I think we should make it *unconditional*. There is no need
> > > > > for this to be an option; it should be the only mode.
> > > >
> > > > I presume all this discussion is about -O2, right? It would be a
> > > > severe regression if we started switching unit-at-a-time on at -O0
> > > > (where it isn't even useful, since we don't do inlining at -O0).
> > >
> > > I think we're talking about -O2 and -O1 -- if we do inlining at -O1,
> > > which I don't presently remember.
> > Yes, problem is fun with old heuristics used by -O1.
> > OK, at a start, I am attaching patch to enable unit-at-a-time at -O1 so
> > we fix the regression Geoff is speaking about. Would this be OK?
> > >From now we can go in following ways:
> > 1) keep it this way
> > 2) kill old inlining heuristics and make function inlining imply
> > unit-at-a-time
> > 3) kill old inlining heuristics and new incremental inlining code
> > 4) kill old code path completely and make unit-at-a-time default for all
> > cases.
> I don't think any of these are good solutions. Instead, we need to
> choose between:
> 1. New heuristics; or
This is 3) in my sollutions. I sent patch for incremental variation of
unit-at-a-time inlining heruistics. It behaves better than old
heuristics but still worse than new one on some testcases such as POOMA
> 2. Switching off inlining at -O1 completely (and of course not using
> I think new heuristics ought to be better than switching inlining off.
> Please remember, unit-at-a-time means very high memory use for some
> input files. We cannot have it as the only choice unless there's some
> limit on peak memory use, and that means throwing away some function
> bodies early.
> - Geoffrey Keating <firstname.lastname@example.org>