This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 3.3 compile time regression (22400%)
- From: Michael Matz <matz at suse dot de>
- To: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Tue, 18 Mar 2003 16:09:25 +0100 (CET)
- Subject: Re: 3.3 compile time regression (22400%)
Hi,
On Tue, 18 Mar 2003, Richard Guenther wrote:
> It is not (its from today), this is from the online-documentation.
Ahh, I see, in that case this the current docu is below. But your chart
already showed the effect quite nicely. OTOH if it's really the same
problem Karel is seeing, fiddling with the inlining defaults would just
paper over the problem, but it might be enough for you. Simply use the
parameter where it's fast enough for you. I'm currently looking into
Karel's problem, but I'm not sure if I come up with something, it's not
too easy after a first look.
Ciao,
Michael.
@item max-inline-insns-single
Several parameters control the tree inliner used in gcc.
This number sets the maximum number of instructions (counted in gcc's
internal representation) in a single function that the tree inliner
will consider for inlining. This only affects functions declared
inline and methods implemented in a class declaration (C++).
The default value is 300.
@item max-inline-insns-auto
When you use @option{-finline-functions} (included in @option{-O3}),
a lot of functions that would otherwise not be considered for inlining
by the compiler will be investigated. To those functions, a different
(more restrictive) limit compared to functions declared inline can
be applied.
The default value is 300.
@item max-inline-insns
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.
@item max-inline-slope
After exceeding the maximum number of inlined instructions by repeated
inlining, a linear function is used to decrease the allowable size
for single functions. The slope of that function is the negative
reciprocal of the number specified here.
The default value is 32.