aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-03-05 10:39:43 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2013-03-05 10:39:43 +0100
commitb8d381a382bc8bd447630348f918607b28b378ca (patch)
tree8d93688ac1c1b3f1505084bde27eeaa3156bed89 /gcc
parentb4f9786b9a691f2c8d24a16d9bfe26c37f747d57 (diff)
downloadgcc-b8d381a382bc8bd447630348f918607b28b378ca.zip
gcc-b8d381a382bc8bd447630348f918607b28b378ca.tar.gz
gcc-b8d381a382bc8bd447630348f918607b28b378ca.tar.bz2
re PR middle-end/56461 (GCC is leaking lots of memory)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tree-vect-slp.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3a1b71b..aefbb60 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,10 @@
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
vec<vec<basic_block> > and queue to vec<basic_block>. Fix up
diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c
index 873c18e..467abb5 100644
--- a/gcc/tree-vect-slp.c
+++ b/gcc/tree-vect-slp.c
@@ -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);