This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Plug memory leak on value histograms
- From: Jan Hubicka <jh at suse dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sun, 14 Sep 2008 00:31:36 +0200
- Subject: Plug memory leak on value histograms
Hi,
when I noticed the DECL_STRUCT_FUNCTION leak, I added couple gcc_asserts
and this one triggers. Nothing extreme, but one leak fewer.
Honza
* cgraph.c: Include value-prof.h
* Makefile.in (cgraph.o): Add value-prof.h dependency.
Index: cgraph.c
===================================================================
--- cgraph.c (revision 140348)
+++ cgraph.c (working copy)
@@ -84,6 +84,7 @@ The callgraph:
#include "gimple.h"
#include "tree-dump.h"
#include "tree-flow.h"
+#include "value-prof.h"
static void cgraph_node_remove_callers (struct cgraph_node *node);
static inline void cgraph_edge_remove_caller (struct cgraph_edge *e);
@@ -906,6 +907,9 @@ cgraph_release_function_body (struct cgr
gcc_assert (dom_computed[1] == DOM_NONE);
clear_edges ();
}
+ if (cfun->value_histograms)
+ free_histograms ();
+ gcc_assert (!current_loops);
pop_cfun();
gimple_set_body (node->decl, NULL);
VEC_free (ipa_opt_pass, heap,
Index: Makefile.in
===================================================================
--- Makefile.in (revision 140348)
+++ Makefile.in (working copy)
@@ -2586,7 +2586,7 @@ simplify-rtx.o : simplify-rtx.c $(CONFIG
cgraph.o : cgraph.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
langhooks.h $(TOPLEV_H) $(FLAGS_H) $(GGC_H) $(TARGET_H) $(CGRAPH_H) \
gt-cgraph.h output.h intl.h $(BASIC_BLOCK_H) debug.h $(HASHTAB_H) \
- $(TREE_INLINE_H) $(VARRAY_H) $(TREE_DUMP_H) $(TREE_FLOW_H)
+ $(TREE_INLINE_H) $(VARRAY_H) $(TREE_DUMP_H) $(TREE_FLOW_H) value-prof.h
cgraphunit.o : cgraphunit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) langhooks.h $(TREE_INLINE_H) $(TOPLEV_H) $(FLAGS_H) $(GGC_H) \
$(TARGET_H) $(CGRAPH_H) intl.h pointer-set.h $(FUNCTION_H) $(GIMPLE_H) \