diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2019-12-19 09:20:09 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2019-12-19 08:20:09 +0000 |
commit | 44fca83228acc96c19c51e52b5c0448e09329170 (patch) | |
tree | bfe0552c058c7e746f11c67c4516ecb3a1184026 /gcc | |
parent | 951e27f58ca5c7f33124407079c383706e99c68d (diff) | |
download | gcc-44fca83228acc96c19c51e52b5c0448e09329170.zip gcc-44fca83228acc96c19c51e52b5c0448e09329170.tar.gz gcc-44fca83228acc96c19c51e52b5c0448e09329170.tar.bz2 |
ipa: duplicate ipa_size_summary for cloned nodes
* ipa-fnsummary.h (ipa_size_summary): Remove copy consturctor.
(ipa_size_summary_t): Add duplicate method; move to heap.
* ipa-fnsumary.c (ipa_fn_summary_alloc): Fix allocation.
From-SVN: r279563
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ipa-fnsummary.c | 3 | ||||
-rw-r--r-- | gcc/ipa-fnsummary.h | 21 |
3 files changed, 17 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e52d056..3b70338 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-12-19 Jan Hubicka <hubicka@ucw.cz> + Luo Xiong Hu <luoxhu@linux.ibm.com + + * ipa-fnsummary.h (ipa_size_summary): Remove copy consturctor. + (ipa_size_summary_t): Add duplicate method; move to heap. + * ipa-fnsumary.c (ipa_fn_summary_alloc): Fix allocation. + 2019-12-19 Feng Xue <fxue@os.amperecomputing.com> PR ipa/92794 diff --git a/gcc/ipa-fnsummary.c b/gcc/ipa-fnsummary.c index a54703f..5486f64 100644 --- a/gcc/ipa-fnsummary.c +++ b/gcc/ipa-fnsummary.c @@ -672,8 +672,7 @@ static void ipa_fn_summary_alloc (void) { gcc_checking_assert (!ipa_fn_summaries); - ipa_size_summaries = new fast_function_summary <ipa_size_summary *, va_heap> - (symtab); + ipa_size_summaries = new ipa_size_summary_t (symtab); ipa_fn_summaries = ipa_fn_summary_t::create_ggc (symtab); ipa_call_summaries = new ipa_call_summary_t (symtab); } diff --git a/gcc/ipa-fnsummary.h b/gcc/ipa-fnsummary.h index e430032..a0ac0b7 100644 --- a/gcc/ipa-fnsummary.h +++ b/gcc/ipa-fnsummary.h @@ -99,11 +99,6 @@ public: : estimated_self_stack_size (0), self_size (0), size (0) { } - /* Copy constructor. */ - ipa_size_summary (const ipa_size_summary &s) - : estimated_self_stack_size (0), self_size (s.self_size), size (s.size) - { - } }; /* Function inlining information. */ @@ -226,18 +221,20 @@ extern GTY(()) fast_function_summary <ipa_fn_summary *, va_gc> *ipa_fn_summaries; class ipa_size_summary_t: - public fast_function_summary <ipa_size_summary *, va_gc> + public fast_function_summary <ipa_size_summary *, va_heap> { public: ipa_size_summary_t (symbol_table *symtab): - fast_function_summary <ipa_size_summary *, va_gc> (symtab) {} + fast_function_summary <ipa_size_summary *, va_heap> (symtab) + { + disable_insertion_hook (); + } - static ipa_size_summary_t *create_ggc (symbol_table *symtab) + virtual void duplicate (cgraph_node *, cgraph_node *, + ipa_size_summary *src_data, + ipa_size_summary *dst_data) { - class ipa_size_summary_t *summary = new (ggc_alloc <ipa_size_summary_t> ()) - ipa_size_summary_t (symtab); - summary->disable_insertion_hook (); - return summary; + *dst_data = *src_data; } }; extern fast_function_summary <ipa_size_summary *, va_heap> |