This is the mail archive of the 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: mainline "exploding"

> Date: Wed, 15 Oct 2003 22:30:33 +0200
> From: Jan Hubicka <>

> > On Wed, 2003-10-15 at 10:57, Geoff Keating wrote:
> > > Mark Mitchell <> 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
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 <>

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