diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2015-11-24 11:46:10 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2015-11-24 11:46:10 +0000 |
commit | 76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af (patch) | |
tree | 58070dd13c6248487e3ae1a088186d0901249d7f /gcc/tree-ssa-uncprop.c | |
parent | cfa55545f9aff809f267babb110b1037e164a1cd (diff) | |
download | gcc-76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af.zip gcc-76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af.tar.gz gcc-76b6ddbfe234ed3d68dfaaadfc85a86119a3d0af.tar.bz2 |
destroy values as well as keys when removing them from hash maps
gcc/ChangeLog:
2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* hash-map-traits.h (simple_hashmap_traits ::remove): call
destructors on values that are being removed.
* mem-stats.h (hash_map): Pass type of values to
simple_hashmap_traits.
* tree-sra.c (sra_deinitialize): Remove work around for hash
maps not destructing values.
* genmatch.c (sinfo_hashmap_traits): Adjust.
* tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise.
From-SVN: r230801
Diffstat (limited to 'gcc/tree-ssa-uncprop.c')
-rw-r--r-- | gcc/tree-ssa-uncprop.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c index be6c209d..23b4ca2 100644 --- a/gcc/tree-ssa-uncprop.c +++ b/gcc/tree-ssa-uncprop.c @@ -277,7 +277,8 @@ struct equiv_hash_elt /* Value to ssa name equivalence hashtable helpers. */ -struct val_ssa_equiv_hash_traits : simple_hashmap_traits <tree_operand_hash> +struct val_ssa_equiv_hash_traits : simple_hashmap_traits <tree_operand_hash, + vec<tree> > { template<typename T> static inline void remove (T &); }; |