Hi, after some testing on firefox, SPEC and C++ benchmark I decided to bump up early-inlining-insns somewhat because I find inliner decisions to be considerably more robust this way allowing me to reduce inline-unit-growth.
There are several reasons for increasing early-inliner's activity. First it helps to shift work from LTO to compilation stage. Also C++ abstraction penalty is on rise with current coding standards. Finally since last tunning early inliner trottles itself down more for non-leaf functions. Bootstrapped/regtested x86_64-linux, comitted. I will follow with update of inline-unit-growth once testers pick this change up. Honza Index: doc/invoke.texi =================================================================== --- doc/invoke.texi (revision 219700) +++ doc/invoke.texi (working copy) @@ -10078,7 +10078,7 @@ The default value is 10. @item early-inlining-insns Specify growth that the early inliner can make. In effect it increases the amount of inlining for code having a large abstraction penalty. -The default value is 10. +The default value is 14. @item max-early-inliner-iterations Limit of iterations of the early inliner. This basically bounds Index: params.def =================================================================== --- params.def (revision 219700) +++ params.def (working copy) @@ -198,7 +198,7 @@ DEFPARAM(PARAM_IPCP_UNIT_GROWTH, DEFPARAM(PARAM_EARLY_INLINING_INSNS, "early-inlining-insns", "Maximal estimated growth of function body caused by early inlining of single call", - 11, 0, 0) + 14, 0, 0) DEFPARAM(PARAM_LARGE_STACK_FRAME, "large-stack-frame", "The size of stack frame to be considered large",