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


> On Tue, 14 Oct 2003, Jan Hubicka wrote:
> > I've sent patch containing rewrite of non-unit-at-a-time inlining
> > heuristics.  It reduces the compilation times at -O1 somewhat, but still
> > there is room for improvement as seen on other testcase from POOMA
> > library.  I am thinking about either decreasing the limits of overall
> > fucntion body growth at -O1 or doing kind of incremental version of
> > overall compilation unit growth limit.
> 
> I believe we should do something also short term, for the new behavior
> makes testing quite hard.
> 
> In fact, some further tests showed that for DLV (cf. PR8361) compilation
> time for -O1 has degraded nearly to the level of -O3 and -O1 consumes
> _more_ peak memory than -O3.
> 
> Can you reproduce this?

Yes, it is caused by the fact that -O1 is not unit-at-a-time and our old
inlining algorithm is crazy.

I was thinking about short term sollution for few days already but
didn't came to sollution I am really happy with.
I see possible ways out:
1) use new inlining algorithm + possibly add extra test to limit overall
   expansion  (I would like to see this sollution best)
2) go ahead and enable unit-at-a-time by default for C++ at all levels
3) add some simple check to old algorithm to limit inlining at -O1 and
lower (such as prohibiting recursive inlining and always inline just one
level)
4) Add new parameters used by new inlining instead sharing the values
with old ones.

What does seem to be most acceptable?

Honza
> 
> Gerald
> -- 
> Gerald Pfeifer (Jerry)   gerald@pfeifer.com   http://www.pfeifer.com/gerald/


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