cgraphclones.c (cgraph_node::create_version_clone): Do not duplicate summaries.
authorJan Hubicka <jh@suse.cz>
Mon, 4 Nov 2019 14:07:09 +0000 (15:07 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 4 Nov 2019 14:07:09 +0000 (14:07 +0000)
commit7237f93eb3aaecb27800ce1688ece4c4cbcb790b
treede11c563dd2b2c4fbed7b425e99ea70d6cb79842
parent6fb349540ce6464e9222d4c236a2c43a174d058b
cgraphclones.c (cgraph_node::create_version_clone): Do not duplicate summaries.

* cgraphclones.c (cgraph_node::create_version_clone): Do not
duplicate summaries.
* ipa-fnsummary.c (ipa_fn_summary_alloc): Allocate size summary
first.
(ipa_fn_summary_t::duplicate): Use get instead of get_create to
access call summaries.
(dump_ipa_call_summary): Be ready for missing edge summaries.
(analyze_function_body): Use get instead of get_create to access
edge summary.
(estimate_calls_size_and_time): Do not access summaries of
inlined edges; sanity check they are missing.
(ipa_call_context::estimate_size_and_time): Use get instead
of get_create to access node summary.
(inline_update_callee_summaries): Do not update depth of
inlined edge.
(ipa_merge_fn_summary_after_inlining): Remove inline edge from
growth caches.
(ipa_merge_fn_summary_after_inlining): Use get instead
of get_create.
* ipa-fnsummary.h (ipa_remove_from_growth_caches): Declare.
* ipa-inline-analyssi.c (edge_growth_cache): Turn to
fast summary.
(initialize_growth_caches): Update.
(do_estimate_edge_time): Remove redundant copy of context.
(ipa_remove_from_growth_caches): New function.
* ipa-inline.c (flatten_function): Update overall summary
only when optimizing.
(inline_to_all_callers): Update overall summary of function
inlined to.
* ipa-inline.h (edge_growth_cache): Turn to fast summary.
* symbol-summary.h (call_summary_base): Set m_initialize_when_cloning
to false.

From-SVN: r277780
gcc/ChangeLog
gcc/cgraphclones.c
gcc/ipa-fnsummary.c
gcc/ipa-fnsummary.h
gcc/ipa-inline-analysis.c
gcc/ipa-inline.c
gcc/ipa-inline.h
gcc/symbol-summary.h