aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabor Loki <loki@inf.u-szeged.hu>2004-04-03 00:17:49 +0200
committerGeoffrey Keating <geoffk@gcc.gnu.org>2004-04-02 22:17:49 +0000
commitf736cb3eedc28efce160effa53403e4b69411427 (patch)
tree7bd1908b5f7dc0533ac54bcf9321ac234d85e874
parentab40b100d3e1676c60d3ccd0765a45736471beaf (diff)
downloadgcc-f736cb3eedc28efce160effa53403e4b69411427.zip
gcc-f736cb3eedc28efce160effa53403e4b69411427.tar.gz
gcc-f736cb3eedc28efce160effa53403e4b69411427.tar.bz2
opts.c (decode_options): Do function inlining with very small max-inline-insns-* parameters when...
2004-04-02 Gabor Loki <loki@inf.u-szeged.hu> * opts.c (decode_options): Do function inlining with very small max-inline-insns-* parameters when optimizing for size. From-SVN: r80359
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/opts.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e9b7dbc..2a0fbb7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
+
+ * opts.c (decode_options): Do function inlining with very small
+ max-inline-insns-* parameters when optimizing for size.
+
2004-04-02 Vladimir Makarov <vmakarov@redhat.com>
* config/i386/i386.h (TARGET_NOCONA): New macro.
diff --git a/gcc/opts.c b/gcc/opts.c
index f21cf25..b5cb3d9 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. */