OSDN Git Service

2004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Apr 2004 22:17:49 +0000 (22:17 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 2 Apr 2004 22:17:49 +0000 (22:17 +0000)
       * 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

gcc/ChangeLog
gcc/opts.c

index e9b7dbc..2a0fbb7 100644 (file)
@@ -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.
index f21cf25..b5cb3d9 100644 (file)
@@ -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.  */