re PR middle-end/56461 (GCC is leaking lots of memory)
authorJakub Jelinek <jakub@redhat.com>
Tue, 5 Mar 2013 09:39:43 +0000 (10:39 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 5 Mar 2013 09:39:43 +0000 (10:39 +0100)
PR middle-end/56461
* tree-vect-slp.c (vect_supported_load_permutation_p): Free
load_index sbitmap even if some bit in it isn't set.

From-SVN: r196455

gcc/ChangeLog
gcc/tree-vect-slp.c

index 3a1b71bf7bdfef3eda3916035097791c2c4d6f3e..aefbb608727e89b33c6495ee0b83e1ce29e66283 100644 (file)
@@ -1,5 +1,9 @@
 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
 
+       PR middle-end/56461
+       * tree-vect-slp.c (vect_supported_load_permutation_p): Free
+       load_index sbitmap even if some bit in it isn't set.
+
        PR middle-end/56461
        * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
        (discover_iteration_bound_by_body_walk): Change queues to
index 873c18e74ed0e619265e2f0af2354db22b332b27..467abb579247b37a93571521952d1b82f14231e1 100644 (file)
@@ -1429,7 +1429,10 @@ vect_supported_load_permutation_p (slp_instance slp_instn, int group_size,
  
   for (j = 0; j < group_size; j++)
     if (!bitmap_bit_p (load_index, j))
-      return false;
+      {
+       sbitmap_free (load_index);
+       return false;
+      }
 
   sbitmap_free (load_index);