[PATCH] Fix memory leak in inline_merge_summary

2012-05-23 Thread Martin Jambor
Hi,

the vector operand_map is not freed in inline_merge_summary, this
patch fixes it.  It looks fairly obvious and I also have talked about
the problem on IRC with Honza yesterday so I will commit it after
bootstrap and testing on x86_64-linux.

I suppose I should then test and commit it to the 4.7 branch...?

Thanks,

Martin


2012-05-23  Martin Jambor  mjam...@suse.cz

* ipa-inline-analysis.c (inline_merge_summary): Free operand_map.

Index: src/gcc/ipa-inline-analysis.c
===
--- src.orig/gcc/ipa-inline-analysis.c
+++ src/gcc/ipa-inline-analysis.c
@@ -2696,6 +2696,7 @@ inline_merge_summary (struct cgraph_edge
   edge_set_predicate (edge, true_p);
   /* Similarly remove param summaries.  */
   VEC_free (inline_param_summary_t, heap, es-param);
+  VEC_free (int, heap, operand_map);
 
   info-time = (info-time + INLINE_TIME_SCALE / 2) / INLINE_TIME_SCALE;
   info-size = (info-size + INLINE_SIZE_SCALE / 2) / INLINE_SIZE_SCALE;


Re: [PATCH] Fix memory leak in inline_merge_summary

2012-05-23 Thread Richard Guenther
On Wed, May 23, 2012 at 1:02 PM, Martin Jambor mjam...@suse.cz wrote:
 Hi,

 the vector operand_map is not freed in inline_merge_summary, this
 patch fixes it.  It looks fairly obvious and I also have talked about
 the problem on IRC with Honza yesterday so I will commit it after
 bootstrap and testing on x86_64-linux.

 I suppose I should then test and commit it to the 4.7 branch...?

Yes.

Thanks,
Richard.

 Thanks,

 Martin


 2012-05-23  Martin Jambor  mjam...@suse.cz

        * ipa-inline-analysis.c (inline_merge_summary): Free operand_map.

 Index: src/gcc/ipa-inline-analysis.c
 ===
 --- src.orig/gcc/ipa-inline-analysis.c
 +++ src/gcc/ipa-inline-analysis.c
 @@ -2696,6 +2696,7 @@ inline_merge_summary (struct cgraph_edge
   edge_set_predicate (edge, true_p);
   /* Similarly remove param summaries.  */
   VEC_free (inline_param_summary_t, heap, es-param);
 +  VEC_free (int, heap, operand_map);

   info-time = (info-time + INLINE_TIME_SCALE / 2) / INLINE_TIME_SCALE;
   info-size = (info-size + INLINE_SIZE_SCALE / 2) / INLINE_SIZE_SCALE;