aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2015-06-25 17:16:15 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2015-06-25 17:16:15 +0000
commit84a98514b3d659ab6ca4b6bc624a1b7453fa0daa (patch)
treece4faaa466bf8b43e8a1e7d3bcd62a5d44dc9e40 /gcc
parent5d6678ae80850da572b28776ef9dd19b04d5fefd (diff)
downloadgcc-84a98514b3d659ab6ca4b6bc624a1b7453fa0daa.zip
gcc-84a98514b3d659ab6ca4b6bc624a1b7453fa0daa.tar.gz
gcc-84a98514b3d659ab6ca4b6bc624a1b7453fa0daa.tar.bz2
tree-hash-traits.h (tree_hash): New class.
gcc/ * tree-hash-traits.h (tree_hash): New class. * except.c: Include tree-hash-traits.h. (tree_hash_traits): Use tree_hash. From-SVN: r224970
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/except.c7
-rw-r--r--gcc/tree-hash-traits.h12
3 files changed, 20 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f95f2dc..6389191 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+ * tree-hash-traits.h (tree_hash): New class.
+ * except.c: Include tree-hash-traits.h.
+ (tree_hash_traits): Use tree_hash.
+
+2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
+
* tree-hash-traits.h (tree_ssa_name_hasher): New class.
* sese.c: Include tree-hash-traits.h.
(rename_map_hasher): Use tree_ssa_name_hasher.
diff --git a/gcc/except.c b/gcc/except.c
index ce1e31f..081b402 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -159,14 +159,11 @@ along with GCC; see the file COPYING3. If not see
#include "tree-pass.h"
#include "cfgloop.h"
#include "builtins.h"
+#include "tree-hash-traits.h"
static GTY(()) int call_site_base;
-struct tree_hash_traits : default_hashmap_traits
-{
- static hashval_t hash (tree t) { return TREE_HASH (t); }
-};
-
+struct tree_hash_traits : simple_hashmap_traits <tree_hash> {};
static GTY (()) hash_map<tree, tree, tree_hash_traits> *type_to_runtime_map;
/* Describe the SjLj_Function_Context structure. */
diff --git a/gcc/tree-hash-traits.h b/gcc/tree-hash-traits.h
index 1f4364f..1edc49e 100644
--- a/gcc/tree-hash-traits.h
+++ b/gcc/tree-hash-traits.h
@@ -67,4 +67,16 @@ tree_ssa_name_hash::hash (tree t)
return SSA_NAME_VERSION (t);
}
+/* Hasher for general trees, based on their TREE_HASH. */
+struct tree_hash : ggc_ptr_hash <tree_node>
+{
+ static hashval_t hash (tree);
+};
+
+inline hashval_t
+tree_hash::hash (tree t)
+{
+ return TREE_HASH (t);
+}
+
#endif