[Development] QtCore is 2 MB larger in Qt 5

vivo75 at gmail.com vivo75 at gmail.com
Fri Jul 13 13:34:32 CEST 2012


> It was on linkonce sections. The attached script improves on it.
>
> Unfortunately, those sections are unpredictable, since they depend on the
> compiler's mood in inlining or not inlining some things. For example, QList is
> mostly unchanged in Qt 5, but this shows up:
>

you may want to experiment a bit with `gcc --pram=large-function-growth=X`
that can change the mood of gcc quite a bit.
This message has no opinion or intention in this topic other than let 
know this parameters exist and can be used for experimetation.

gcc --help=param
[...]
   max-inline-insns-single     The maximum number of instructions in a 
single
                               function eligible for inlining
   max-inline-insns-auto       The maximum number of instructions when
                               automatically inlining
   max-inline-insns-recursive  The maximum number of instructions inline
                               function can grow to via recursive inlining
   max-inline-insns-recursive-auto The maximum number of instructions 
non-inline
                               function can grow to via recursive inlining
   max-inline-recursive-depth  The maximum depth of recursive inlining for
                               inline functions
   max-inline-recursive-depth-auto The maximum depth of recursive 
inlining for
                               non-inline functions
   min-inline-recursive-probability Inline recursively only when the 
probability
                               of call being executed exceeds the parameter
   max-early-inliner-iterations The maximum number of nested indirect 
inlining
                               performed by early inliner
   comdat-sharing-probability  Probability that COMDAT function will be 
shared
                               with different compilatoin unit
   partial-inlining-entry-probability Maximum probability of the entry BB of
                               split region (in percent relative to 
entry BB of
                               the function) to make partial inlining happen
   max-variable-expansions-in-unroller If 
-fvariable-expansion-in-unroller is
                               used, the maximum number of times that an
                               individual variable will be expanded 
during loop
                               unrolling

[...]
   inline-unit-growth          How much can given compilation unit grow 
because
                               of the inlining (in percent)
   ipcp-unit-growth            How much can given compilation unit grow 
because
                               of the interprocedural constant 
propagation (in
                               percent)
   early-inlining-insns        Maximal estimated growth of function body 
caused
                               by early inlining of single call
   large-stack-frame           The size of stack frame to be considered 
large
   large-stack-frame-growth    Maximal stack frame growth due to 
inlining (in
                               percent)
[...]





More information about the Development mailing list