diff options
author | Jan Hubicka <jh@suse.cz> | 2019-11-21 09:03:01 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2019-11-21 08:03:01 +0000 |
commit | d2bcf46cd03bcc3ebdd9102e53022b6fb03202f7 (patch) | |
tree | 92ffeae1886e53d112d01b1c55ba6c8ba4cdfcc7 /gcc/ipa-inline-transform.c | |
parent | b4b7464b57190287cb1bfc5eb56f63148a508f0c (diff) | |
download | gcc-d2bcf46cd03bcc3ebdd9102e53022b6fb03202f7.zip gcc-d2bcf46cd03bcc3ebdd9102e53022b6fb03202f7.tar.gz gcc-d2bcf46cd03bcc3ebdd9102e53022b6fb03202f7.tar.bz2 |
Incremental updating of inline summaries.
* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Allow
negative time in calls summary; correct roundoff errors
leading to negative times.
(ipa_merge_fn_summary_after_inlining): Update calls size time table
if present.
(ipa_update_overall_fn_summary): Add RESET parameter.
* ipa-fnsummary.h (ipa_update_overall_fn_summary): Update prototype.
* ipa-inline-transform.c (inline_call): Enable incremental updates.
From-SVN: r278541
Diffstat (limited to 'gcc/ipa-inline-transform.c')
-rw-r--r-- | gcc/ipa-inline-transform.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c index 8b95889..e547521 100644 --- a/gcc/ipa-inline-transform.c +++ b/gcc/ipa-inline-transform.c @@ -489,9 +489,9 @@ inline_call (struct cgraph_edge *e, bool update_original, mark_all_inlined_calls_cdtor (e->callee); if (opt_for_fn (e->caller->decl, optimize)) new_edges_found = ipa_propagate_indirect_call_infos (curr, new_edges); - check_speculations (e->callee, new_edges); + bool removed_p = check_speculations (e->callee, new_edges); if (update_overall_summary) - ipa_update_overall_fn_summary (to); + ipa_update_overall_fn_summary (to, new_edges_found || removed_p); else /* Update self size by the estimate so overall function growth limits work for further inlining into this function. Before inlining |