The following fixes a memory leak in vectorizable_store which happens
because the functions populating gvec_oprnds[i] will call .create ()
on the incoming vector, leaking what we've previously allocated.
Bootstrap and regtest running on x86_64-unknown-linux-gnu.
* tree-vect-stmts.cc (vectorizable_store): Do not allocate
storage for gvec_oprnds elements.
---
gcc/tree-vect-stmts.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index cabd4e3ae86..69d76c3b350 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -8772,7 +8772,7 @@ vectorizable_store (vec_info *vinfo,
tree vec_mask = NULL;
auto_delete_vec<auto_vec<tree>> gvec_oprnds (group_size);
for (i = 0; i < group_size; i++)
- gvec_oprnds.quick_push (new auto_vec<tree> (ncopies));
+ gvec_oprnds.quick_push (new auto_vec<tree> ());
if (memory_access_type == VMAT_LOAD_STORE_LANES)
{
--
2.35.3