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: Richard Guenther <rguenth at tat dot physik dot uni-tuebingen dot de>
- To: Michael Matz <matz at suse dot de>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 18 Mar 2003 16:07:24 +0100 (CET)
- Subject: Re: 3.3 compile time regression (22400%)
On Tue, 18 Mar 2003, Michael Matz wrote:
> Hi,
>
> On Tue, 18 Mar 2003, Richard Guenther wrote:
>
> > 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.
>
> Your 3.3 branch is much too old. This was fixed/introduced on 2003-03-06.
I also do not see differences in the current 3.3 sources - in fact,
params.def reads:
/* The single function inlining limit. This is the maximum size
of a function counted in internal gcc instructions (not in
real machine instructions) that is eligible for inlining
by the tree inliner.
The default value is 300.
Only functions marked inline (or methods defined in the class
definition for C++) are affected by this, unless you set the
-finline-functions (included in -O3) compiler option.
There are more restrictions to inlining: If inlined functions
call other functions, the already inlined instructions are
counted and once the recursive inline limit (see
"max-inline-insns" parameter) is exceeded, the acceptable size
gets decreased. */
DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
"max-inline-insns-single",
"The maximum number of instructions in a single function
eligible for inlining",
300)
Richard.
--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/