diff options
author | Richard Biener <rguenther@suse.de> | 2024-01-18 13:04:17 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2024-01-18 14:13:03 +0100 |
commit | 5b421c2a5b429fcebd7ee6444a5677633df0f28a (patch) | |
tree | e366013981a89689a850aaf48b556ad1f11e900e /gcc | |
parent | f2872e00f61a5a333fa22e651d37d3b2035ac41f (diff) | |
download | gcc-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.cc | 2 |
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) { |