Fix memory leak in tree-if-conv.c
authorMartin Liska <mliska@suse.cz>
Fri, 6 May 2016 14:26:23 +0000 (16:26 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 6 May 2016 14:26:23 +0000 (14:26 +0000)
* tree-if-conv.c (ifcvt_split_critical_edges): Use auto_vec
instead of vec as the vector is local to the function.

From-SVN: r235974

gcc/ChangeLog
gcc/tree-if-conv.c

index 1fbc350addf7a18d55f0f01c648c20068f716710..6593023843efa8b5d7b23622d64056449aa0c9e9 100644 (file)
@@ -1,3 +1,8 @@
+2016-05-06  Martin Liska  <mliska@suse.cz>
+
+       * tree-if-conv.c (ifcvt_split_critical_edges): Use auto_vec
+       instead of vec as the vector is local to the function.
+
 2016-05-06  Jakub Jelinek  <jakub@redhat.com>
 
        * config/i386/sse.md (*<code>v8hi3, *<code>v16qi3): Add
index 3d7c613dc9cb63136869feb5f52c4f4b9e033d34..3ad8e8701ed7b7d7b2f74688e3a4a67d76aa81c6 100644 (file)
@@ -2361,7 +2361,7 @@ ifcvt_split_critical_edges (struct loop *loop, bool aggressive_if_conv)
   gimple *stmt;
   edge e;
   edge_iterator ei;
-  vec<edge> critical_edges = vNULL;
+  auto_vec<edge> critical_edges;
 
   /* Loop is not well formed.  */
   if (num <= 2 || loop->inner || !single_exit (loop))
@@ -2381,7 +2381,6 @@ ifcvt_split_critical_edges (struct loop *loop, bool aggressive_if_conv)
                     bb->index, MAX_PHI_ARG_NUM);
 
          free (body);
-         critical_edges.release ();
          return false;
        }
       if (bb == loop->latch || bb_with_exit_edge_p (loop, bb))