From fd46280df128333b51ab993341441d24636680be Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Tue, 29 Oct 2019 14:52:57 +0100 Subject: [PATCH] Pass memory statistics for {symbol,call}_summary. 2019-10-29 Martin Liska * symbol-summary.h (function_summary): Pass memory location to underlaying hash_map (or vec). (V>::fast_function_summary): Likewise. From-SVN: r277573 --- gcc/ChangeLog | 6 ++++++ gcc/symbol-summary.h | 26 ++++++++++++++++---------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8e729b3..b482bd3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2019-10-29 Martin Liska + * symbol-summary.h (function_summary): Pass memory location + to underlaying hash_map (or vec). + (V>::fast_function_summary): Likewise. + +2019-10-29 Martin Liska + * ggc.h (ggc_alloc_no_dtor): New function. * ipa-fnsummary.c (ipa_free_fn_summary): Call destructor and ggc_free. diff --git a/gcc/symbol-summary.h b/gcc/symbol-summary.h index 6b26b60..14da3a1 100644 --- a/gcc/symbol-summary.h +++ b/gcc/symbol-summary.h @@ -129,7 +129,7 @@ class GTY((user)) function_summary : public function_summary_base { public: /* Default construction takes SYMTAB as an argument. */ - function_summary (symbol_table *symtab, bool ggc = false); + function_summary (symbol_table *symtab, bool ggc = false CXX_MEM_STAT_INFO); /* Destructor. */ virtual ~function_summary (); @@ -213,8 +213,11 @@ private: }; template -function_summary::function_summary (symbol_table *symtab, bool ggc): - function_summary_base (symtab), m_ggc (ggc), m_map (13, ggc) +function_summary::function_summary (symbol_table *symtab, bool ggc + MEM_STAT_DECL): + function_summary_base (symtab), m_ggc (ggc), m_map (13, ggc, true, + GATHER_STATISTICS + PASS_MEM_STAT) { this->m_symtab_insertion_hook = this->m_symtab->add_cgraph_insertion_hook (function_summary::symtab_insertion, @@ -325,7 +328,7 @@ class GTY((user)) fast_function_summary { public: /* Default construction takes SYMTAB as an argument. */ - fast_function_summary (symbol_table *symtab); + fast_function_summary (symbol_table *symtab CXX_MEM_STAT_INFO); /* Destructor. */ virtual ~fast_function_summary (); @@ -407,10 +410,10 @@ private: }; template -fast_function_summary::fast_function_summary (symbol_table *symtab): +fast_function_summary::fast_function_summary (symbol_table *symtab MEM_STAT_DECL): function_summary_base (symtab), m_vector (NULL) { - vec_alloc (m_vector, 13); + vec_alloc (m_vector, 13 PASS_MEM_STAT); this->m_symtab_insertion_hook = this->m_symtab->add_cgraph_insertion_hook (fast_function_summary::symtab_insertion, this); @@ -602,8 +605,11 @@ class GTY((user)) call_summary : public call_summary_base { public: /* Default construction takes SYMTAB as an argument. */ - call_summary (symbol_table *symtab, bool ggc = false) - : call_summary_base (symtab), m_ggc (ggc), m_map (13, ggc) + call_summary (symbol_table *symtab, bool ggc = false + CXX_MEM_STAT_INFO) + : call_summary_base (symtab), m_ggc (ggc), m_map (13, ggc, true, + GATHER_STATISTICS + PASS_MEM_STAT) { this->m_symtab_removal_hook = this->m_symtab->add_edge_removal_hook (call_summary::symtab_removal, @@ -768,10 +774,10 @@ class GTY((user)) fast_call_summary : public call_summary_base { public: /* Default construction takes SYMTAB as an argument. */ - fast_call_summary (symbol_table *symtab) + fast_call_summary (symbol_table *symtab CXX_MEM_STAT_INFO) : call_summary_base (symtab), m_vector (NULL) { - vec_alloc (m_vector, 13); + vec_alloc (m_vector, 13 PASS_MEM_STAT); this->m_symtab_removal_hook = this->m_symtab->add_edge_removal_hook (fast_call_summary::symtab_removal, this); -- 2.7.4