Move size time tables from GGC to heap
authorJan Hubicka <jh@suse.cz>
Fri, 6 Nov 2020 09:05:11 +0000 (10:05 +0100)
committerJan Hubicka <jh@suse.cz>
Fri, 6 Nov 2020 09:05:11 +0000 (10:05 +0100)
commit366099ff0823c3c9929dd7fb911f4af04e63baef
treeb7730dd3cdfe7277dd1bec50ebc81c16a8e288df
parent344106a966857a7d3d9109b66e0acb2efb5d1cd8
Move size time tables from GGC to heap

this patch moves size time tables out of ggc allocated memory.  This makes
sources bit cleaner and saves about 60MB of GGC memory that turns to about 45MB
of heap memory for cc1plus LTO build.

* ipa-fnsummary.h (class size_time_entry): Do not GTY annotate.
(class ipa_fnsummary): Turn size_time_table to auto_vec and
call_size_time_table to effecient vec; update constructors.
* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Update.
(ipa_fn_summary::~ipa_fn_summary): Update.
(ipa_fn_summary_t::duplicate): Update.
(ipa_dump_fn_summary): Update.
(set_switch_stmt_execution_predicate): Update.
(analyze_function_body): Update.
(estimate_calls_size_and_time): Update.
(ipa_call_context::estimate_size_and_time): Update.
(ipa_merge_fn_summary_after_inlining): Update.
(ipa_update_overall_fn_summary): Update.
(inline_read_section): Update.
(ipa_fn_summary_write): Update.
gcc/ipa-fnsummary.c
gcc/ipa-fnsummary.h