Sigh. Inlining heuristics.

Mark Mitchell mark@codesourcery.com
Mon Jul 9 23:39:00 GMT 2001


> An inlining limit of 15,000 instructions is just completely ridiculous.

I agree.  We did this for compatible with the RTL inliner -- which
had no limit at all until some time back we made it have 10,000
instructions as a limit, to approximate the old behavior but have
*some* cap.

I suggest we drop it to 100 or 1000 instructions by default, and see
how that does.  We could *still* use better heuristics, but that might
make things better in the typical case -- enough so that we might
not need the better heuristics just yet.  And, now that all this
stuff is run-time tunable, users can always crank the number back
up if they need to.

Joe is right as well; if you can get a 10,000 instruction function out
of your test-case, V3 is putting `inline' in too many places.  Note
that making V3 functions non-inline will help in lots of ways, with
respect to compile-time.  For example, we will throw away their bodies
when we are done with them, instead of keeping them around for later
inlining.

-- 
Mark Mitchell                mark@codesourcery.com
CodeSourcery, LLC            http://www.codesourcery.com



More information about the Gcc mailing list