aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2024-01-18 13:04:17 +0100
committerRichard Biener <rguenther@suse.de>2024-01-18 14:13:03 +0100
commit5b421c2a5b429fcebd7ee6444a5677633df0f28a (patch)
treee366013981a89689a850aaf48b556ad1f11e900e /gcc
parentf2872e00f61a5a333fa22e651d37d3b2035ac41f (diff)
downloadgcc-5b421c2a5b429fcebd7ee6444a5677633df0f28a.zip
gcc-5b421c2a5b429fcebd7ee6444a5677633df0f28a.tar.gz
gcc-5b421c2a5b429fcebd7ee6444a5677633df0f28a.tar.bz2
Fix memory leak in vectorizable_store
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. * tree-vect-stmts.cc (vectorizable_store): Do not allocate storage for gvec_oprnds elements.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree-vect-stmts.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index cabd4e3..69d76c3 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)
{