re PR tree-optimization/65538 (Memory leak of ipa_node_params_sum elements)

Fix PR65538.

	PR tree-optimization/65538
	* symbol-summary.h (function_summary::~function_summary):
	Relese memory for allocated summaries.
	(function_summary::release): New function.

From-SVN: r221658
This commit is contained in:
Martin Liska 2015-03-25 12:47:04 +01:00 committed by Martin Liska
parent 2b91aea838
commit fdbdc4b562
2 changed files with 24 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2015-03-25 Martin Liska <mliska@suse.cz>
PR tree-optimization/65538
* symbol-summary.h (function_summary::~function_summary):
Relese memory for allocated summaries.
(function_summary::release): New function.
2015-03-25 Jakub Jelinek <jakub@redhat.com>
PR lto/65515

View File

@ -81,6 +81,11 @@ public:
m_symtab_insertion_hook = NULL;
m_symtab_removal_hook = NULL;
m_symtab_duplication_hook = NULL;
/* Release all summaries. */
typedef typename hash_map <int, T *, summary_hashmap_traits>::iterator map_iterator;
for (map_iterator it = m_map.begin (); it != m_map.end (); ++it)
release ((*it).second);
}
/* Traverses all summarys with a function F called with
@ -106,6 +111,18 @@ public:
return m_ggc ? new (ggc_alloc <T> ()) T() : new T () ;
}
/* Release an item that is stored within map. */
void release (T *item)
{
if (m_ggc)
{
item->~T ();
ggc_free (item);
}
else
delete item;
}
/* Getter for summary callgraph node pointer. */
T* get (cgraph_node *node)
{