[PATCH 05/N] Fix memory leaks in graphite

2015-11-13 Thread Martin Liška
Hello.

Patch survives regbootstrap on x86_64-linux-gnu.
Ready for trunk?

Thanks,
Martin
>From 3f84b19e0ea7eacf26a566d3ef796397dafe76ce Mon Sep 17 00:00:00 2001
From: marxin 
Date: Thu, 12 Nov 2015 15:45:38 +0100
Subject: [PATCH] Fix memory leaks in graphite

---
 gcc/graphite-poly.c   |  1 +
 gcc/graphite-scop-detection.c | 27 ++-
 2 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index 5928b4c..809670a 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -328,6 +328,7 @@ free_scop (scop_p scop)
 free_poly_bb (pbb);
 
   scop->pbbs.release ();
+  scop->drs.release ();
 
   isl_set_free (scop->param_context);
   isl_union_map_free (scop->must_raw);
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index a7179d9..b5298d7 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -522,6 +522,11 @@ class scop_detection
 public:
   scop_detection () : scops (vNULL) {}
 
+  ~scop_detection ()
+  {
+scops.release ();
+  }
+
   /* A marker for invalid sese_l.  */
   static sese_l invalid_sese;
 
@@ -1065,13 +1070,20 @@ scop_detection::harmful_stmt_in_region (sese_l scop) const
 
   /* The basic block should not be part of an irreducible loop.  */
   if (bb->flags & BB_IRREDUCIBLE_LOOP)
-return true;
+	{
+	  dom.release ();
+	  return true;
+	}
 
   if (harmful_stmt_in_bb (scop, bb))
-	return true;
+	{
+	  dom.release ();
+	  return true;
+	}
 }
 
-return false;
+  dom.release ();
+  return false;
 }
 
 /* Returns true if S1 subsumes/surrounds S2.  */
@@ -1749,12 +1761,9 @@ graphite_find_cross_bb_scalar_vars (scop_p scop, gimple *stmt,
 static gimple_poly_bb_p
 try_generate_gimple_bb (scop_p scop, basic_block bb)
 {
-  vec drs;
-  drs.create (3);
-  vec writes;
-  writes.create (3);
-  vec reads;
-  reads.create (3);
+  vec drs = vNULL;
+  vec writes = vNULL;
+  vec reads = vNULL;
 
   sese_l region = scop->scop_info->region;
   loop_p nest = outermost_loop_in_sese (region, bb);
-- 
2.6.2



Re: [PATCH 05/N] Fix memory leaks in graphite

2015-11-13 Thread Richard Biener
On Fri, Nov 13, 2015 at 12:43 PM, Martin Liška  wrote:
> Hello.
>
> Patch survives regbootstrap on x86_64-linux-gnu.
> Ready for trunk?

Ok.

Richard.

> Thanks,
> Martin


Re: [PATCH 05/N] Fix memory leaks in graphite

2015-11-13 Thread Sebastian Pop
On Fri, Nov 13, 2015 at 6:15 AM, Richard Biener
 wrote:
> On Fri, Nov 13, 2015 at 12:43 PM, Martin Liška  wrote:
>> Hello.
>>
>> Patch survives regbootstrap on x86_64-linux-gnu.
>> Ready for trunk?

Thanks Martin for the patch.

Sebastian

>
> Ok.
>
> Richard.
>
>> Thanks,
>> Martin