From: law Date: Thu, 5 Feb 1998 20:49:54 +0000 (+0000) Subject: * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1befb6647d39feb59cc296e5091187b7f7442b48;p=platform%2Fupstream%2Flinaro-gcc.git * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions when -Os is specified. * toplev.c (main): Don't disable flag_inline_functions anymore when -Os is in effect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17671 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e20370c..b349a6c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +1998-02-05 Marc Lehmann + + * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions + when -Os is specified. + * toplev.c (main): Don't disable flag_inline_functions anymore when + -Os is in effect. + Fri Feb 6 00:27:36 1998 J"orn Rennecke * regmove.c: Update. diff --git a/gcc/integrate.c b/gcc/integrate.c index 28731c0..ec1f8b8 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -52,8 +52,12 @@ extern tree poplevel (); /* Default max number of insns a function can have and still be inline. This is overridden on RISC machines. */ #ifndef INTEGRATE_THRESHOLD +/* Inlining small functions might save more space then not inlining at + all. Assume 1 instruction for the call and 1.5 insns per argument. */ #define INTEGRATE_THRESHOLD(DECL) \ - (8 * (8 + list_length (DECL_ARGUMENTS (DECL)))) + (optimize_size \ + ? (1 + (3 * list_length (DECL_ARGUMENTS (DECL)) / 2)) \ + : (8 * (8 + list_length (DECL_ARGUMENTS (DECL))))) #endif static rtx initialize_for_inline PROTO((tree, int, int, int, int)); diff --git a/gcc/toplev.c b/gcc/toplev.c index ab45028..af67a11 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -3798,12 +3798,6 @@ main (argc, argv, envp) flag_inline_functions = 1; } - /* Disable code bloating optimizations if optimizing for size. */ - if (optimize_size) - { - flag_inline_functions = 0; - } - /* Initialize target_flags before OPTIMIZATION_OPTIONS so the latter can modify it. */ target_flags = 0;