From: geoffk Date: Fri, 2 Apr 2004 22:17:49 +0000 (+0000) Subject: 2004-04-02 Gabor Loki X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=8ba44f354ac06fbd58e1de59ea057920d2756027 2004-04-02 Gabor Loki * opts.c (decode_options): Do function inlining with very small max-inline-insns-* parameters when optimizing for size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80359 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e9b7dbc7960..2a0fbb720b4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-04-02 Gabor Loki + + * opts.c (decode_options): Do function inlining with very small + max-inline-insns-* parameters when optimizing for size. + 2004-04-02 Vladimir Makarov * config/i386/i386.h (TARGET_NOCONA): New macro. diff --git a/gcc/opts.c b/gcc/opts.c index f21cf250d21..b5cb3d99c0a 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -594,6 +594,15 @@ decode_options (unsigned int argc, const char **argv) flag_reorder_blocks = 0; } + if (optimize_size) + { + /* Inlining of very small functions usually reduces total size. */ + set_param_value ("max-inline-insns-single", 5); + set_param_value ("max-inline-insns-auto", 5); + set_param_value ("max-inline-insns-rtl", 10); + flag_inline_functions = 1; + } + /* Initialize whether `char' is signed. */ flag_signed_char = DEFAULT_SIGNED_CHAR; /* Initialize how much space enums occupy, by default. */