On Sat, Oct 10, 2009 at 1:46 PM, Richard Guenther
<richard.guent...@gmail.com> wrote:
> On Sat, Oct 10, 2009 at 1:34 PM, Toon Moene <t...@moene.org> wrote:
>> Richard Guenther wrote:
>>
>>> On Sat, Oct 10, 2009 at 12:55 PM, Toon Moene <t...@moene.org> wrote:
>>
>>> Well, I think that we should try to not do this across the whole program.
>>> Simply for the reason that a gigantic main function will hit several
>>> non-linear complexity algorithms in GCC.
>>
>> But, but ... other people are talking about 30 minute "compiles" while the
>> lto1 executable doesn't even register on the radar (top) over here.
>>
>> Besides, inlining these subroutines will get rid of 200+ item argument
>> lists, a benefit on its own (think I-cache).
>>
>> In the mean time I found the --param I'll tweak:
>>
>>  --param max-inline-insns-single=100000
>>
>> I'd like to see some fireworks, too !
>
> That's not the parameter you want to tweak ;)  You want
>
> --param large-function-growth=10000 --param large-function-insns=1000000
> --param large-stack-frame-growth=10000 --param large-stack-frame=100000

Or rather for testing the effect of inlining all functions called once
use the following
patch:

Index: ipa-inline.c
===================================================================
--- ipa-inline.c        (revision 152615)
+++ ipa-inline.c        (working copy)
@@ -1249,8 +1249,8 @@ cgraph_decide_inlining (void)
                           node->callers->caller->global.size);
                }

-             if (cgraph_check_inline_limits (node->callers->caller, node,
-                                             NULL, false))
+             if (1 || cgraph_check_inline_limits (node->callers->caller, node,
+                                                  NULL, false))
                {
                  cgraph_mark_inline (node->callers);
                  if (dump_file)


tuning params will affect other inlining decisions as well.

Richard.

Reply via email to