Fix memory leak in tree-ssa-loop-unswitch.c
authorMartin Liska <mliska@suse.cz>
Tue, 14 Feb 2017 14:54:55 +0000 (15:54 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Tue, 14 Feb 2017 14:54:55 +0000 (14:54 +0000)
2017-02-14  Martin Liska  <mliska@suse.cz>

* tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
vector.  Fix trailing white spaces.

From-SVN: r245430

gcc/ChangeLog
gcc/tree-ssa-loop-unswitch.c

index 2c18421..00aaebc 100644 (file)
@@ -1,3 +1,8 @@
+2017-02-14  Martin Liska  <mliska@suse.cz>
+
+       * tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
+       vector.  Fix trailing white spaces.
+
 2017-02-14  James Greenhalgh  <james.greenhalgh@arm.com>
 
        * config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
index 143caf7..afa04e9 100644 (file)
@@ -820,7 +820,7 @@ hoist_guard (struct loop *loop, edge guard)
   /* Create new loop pre-header.  */
   e = split_block (pre_header, last_stmt (pre_header));
   if (dump_file && (dump_flags & TDF_DETAILS))
-    fprintf (dump_file, "  Moving guard %i->%i (prob %i) to bb %i, "   
+    fprintf (dump_file, "  Moving guard %i->%i (prob %i) to bb %i, "
             "new preheader is %i\n",
             guard->src->index, guard->dest->index, guard->probability,
             e->src->index, e->dest->index);
@@ -879,7 +879,7 @@ hoist_guard (struct loop *loop, edge guard)
   /* ... finally scale everything in the loop except for guarded basic blocks
      where profile does not change.  */
   basic_block *body = get_loop_body (loop);
-  
+
   if (dump_file && (dump_flags & TDF_DETAILS))
     fprintf (dump_file, "  Scaling nonguarded BBs in loop:");
   for (unsigned int i = 0; i < loop->num_nodes; i++)
@@ -920,6 +920,8 @@ hoist_guard (struct loop *loop, edge guard)
 
   if (dump_file && (dump_flags & TDF_DETAILS))
     fprintf (dump_file, "\n  guard hoisted.\n");
+
+  free (body);
 }
 
 /* Return true if phi argument for exit edge can be used