Lines Matching refs:growth
28 by the limits specified by user (allowed function growth, growth and so
132 limits on function unit growth or stack usage growth.
134 The relative function body growth limit is present generally
139 For stack growth limits we always base the growth in stack usage
156 described above, we want to base our function growth
316 caller growth limits allow doing so.
449 caller growth limits allow doing so.
476 /* Check if caller growth allows the inlining. */
586 int growth = estimate_edge_growth (e);
587 if (growth > opt_for_fn (caller->decl, param_max_inline_insns_size)
589 && growth >= MAX (inline_insns_single (caller, false, false),
706 int min_growth = estimate_min_edge_growth (e), growth = 0;
722 growth = estimate_edge_growth (e);
725 if (!want_inline || growth <= param_max_inline_insns_size)
734 growth);
737 else if (growth > early_inlining_insns)
742 "growth %i exceeds --param early-inlining-insns\n",
743 e->caller, callee, growth);
747 && growth * (n + 1) > early_inlining_insns)
752 "growth %i exceeds --param early-inlining-insns "
754 e->caller, callee, growth);
905 int growth = estimate_edge_growth (e);
916 if (growth <= opt_for_fn (to->decl,
924 && growth >= inline_insns_single (e->caller, apply_hints,
927 || growth >= inline_insns_single (e->caller, true,
936 && growth >= opt_for_fn (to->decl,
940 if (growth >= inline_insns_single (e->caller, false, false)
941 || growth_positive_p (callee, e, growth))
950 && growth >= inline_insns_auto (e->caller, apply_hints,
953 || growth >= inline_insns_auto (e->caller, true,
958 if (growth >= inline_insns_single (e->caller, false, false)
959 || growth_positive_p (callee, e, growth))
967 && (growth >= inline_insns_single (e->caller, false, false)
968 || growth_positive_p (callee, e, growth)))
1175 int growth;
1184 growth = estimate_edge_growth (edge);
1194 gcc_checking_assert (growth <= ipa_size_summaries->get (callee)->size);
1201 fprintf (dump_file, " size growth %i, time %f unspec %f ",
1202 growth,
1212 if (growth <= 0)
1214 badness = (sreal) (-SREAL_MIN_SIG + growth) << (SREAL_MAX_EXP / 256);
1216 fprintf (dump_file, " %f: Growth %d <= 0\n", badness.to_double (),
1217 growth);
1252 denominator = growth;
1254 overall_growth = callee_info->growth;
1269 growth ...
1271 if (growth > overall_growth
1291 int caller_growth = caller_info->growth;
1302 " Wrapper penalty. Increasing growth %i to %i\n",
1312 when growth is large. */
1319 denominator *= ipa_size_summaries->get (caller)->size + growth;
1329 " overall growth %i (current) %i (original)"
1340 callee_info->growth, overall_growth);
1345 loop nest and overall size growth, so we optimize for overall number
1350 badness = growth;
1368 || callee_info->growth <= 0)
1568 /* We do not reset callee growth cache here. Since we added a new call,
1569 growth should have just increased and consequently badness metric
1753 fprintf (dump_file, " Recursive inlining growth limit met.\n");
1907 Skip all nodes optimized for size so we can measure the growth of hot
1946 The inlining of small functions is bounded by unit growth parameters. */
1986 info->growth = estimate_growth (node);
2093 int growth;
2161 growth = estimate_edge_growth (edge);
2195 if (overall_size + growth > compute_max_insns (where, min_size)
2341 "Unit growth for small function inlining: %i->%i (%i%%)\n",
2769 We do this regardless on the callee size as long as function growth limits
3011 This way we will not account always inline into growth limits and