diff options
author | Richard Biener <rguenther@suse.de> | 2022-03-24 09:00:29 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-03-24 11:16:10 +0100 |
commit | 85b4d881327e31ae7d2bd4072dcbe425db30f8fe (patch) | |
tree | df70be8f91e2fc038a6e20350082a73a4212792c /gcc/vr-values.cc | |
parent | c1d233e3334df07cfb4f732ace4d93d3cbc28bca (diff) | |
download | gcc-85b4d881327e31ae7d2bd4072dcbe425db30f8fe.zip gcc-85b4d881327e31ae7d2bd4072dcbe425db30f8fe.tar.gz gcc-85b4d881327e31ae7d2bd4072dcbe425db30f8fe.tar.bz2 |
Fix memory leaks
When changing the predcom pass to use auto_vec leaks were introduced by
failing to replace deallocation with C++ delete. The following does
this. It also fixes leaks in vectorization and range folding.
2022-03-24 Richard Biener <rguenther@suse.de>
* tree-predcom.cc (chain::chain): Add CTOR.
(component::component): Likewise.
(pcom_worker::release_chain): Use delete.
(release_components): Likewise.
(pcom_worker::filter_suitable_components): Likewise.
(pcom_worker::split_data_refs_to_components): Use new.
(make_invariant_chain): Likewise.
(make_rooted_chain): Likewise.
(pcom_worker::combine_chains): Likewise.
* tree-vect-loop.cc (vect_create_epilog_for_reduction):
Make sure to release previously constructed scalar_results.
* tree-vect-stmts.cc (vectorizable_load): Use auto_vec
for vec_offsets.
* vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
Release m_flag_set_edges.
Diffstat (limited to 'gcc/vr-values.cc')
-rw-r--r-- | gcc/vr-values.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/vr-values.cc b/gcc/vr-values.cc index 0414020..f94da313 100644 --- a/gcc/vr-values.cc +++ b/gcc/vr-values.cc @@ -4221,6 +4221,7 @@ simplify_using_ranges::simplify_using_ranges (range_query *query, simplify_using_ranges::~simplify_using_ranges () { cleanup_edges_and_switches (); + m_flag_set_edges.release (); } /* Simplify STMT using ranges if possible. */ |