From b8d381a382bc8bd447630348f918607b28b378ca Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 5 Mar 2013 10:39:43 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 4 ++++ gcc/tree-vect-slp.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a1b71bf7bdf..aefbb608727e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2013-03-05 Jakub Jelinek + 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 diff --git a/gcc/tree-vect-slp.c b/gcc/tree-vect-slp.c index 873c18e74ed0..467abb579247 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); -- 2.47.3