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: [using gcc book] ch3.8 options that control optimization


Chris Devers <cdevers@pobox.com> writes:

> The chapter 3, section 8 writeup of the max-inline-insns optimization
> option starts with this sentence:
> 
>     The tree inliner does decrease the allowable size for single
>     functions to be inlined after we already inlined the number of
>     instructions given here by repeated inlining.
> 
> Scary.
> 
> I'd like to rewrite this, possibly as two or three short, clear sentences,
> but I'm having a hard time even parsing out the intent here.  I've tried a
> couple of variations, but I'm not sure that they do a good job of of
> preserving the meaning.
> 
> The full paragraph is as follows:
> 
>     The tree inliner does decrease the allowable size for single
>     functions to be inlined after we already inlined the number of
>     instructions given here by repeated inlining.  This number
>     should be a factor of two or more larger than the single
>     function limit.  Higher numbers result in better runtime
>     performance, but incur higher compile-time resource (CPU time,
>     memory) requirements and result in larger binaries. Very high
>     values are not advisable, as too large binaries may adversely
>     affect runtime performance. The default value is 600.
> 
> Can someone please take a crack at this, or at least point me in the right
> direction to get started on a clarification?  Thank you.

Well, I'd start with

After this number of functions have been inlined into a function, the
tree inliner reduces the maximum size of a function that will
be inlined into this function.

and then try to improve it from there.

-- 
- Geoffrey Keating <geoffk@geoffk.org>


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