aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-uncprop.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-uncprop.c')
-rw-r--r--gcc/tree-ssa-uncprop.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/gcc/tree-ssa-uncprop.c b/gcc/tree-ssa-uncprop.c
index 4e7730d..cf03a54 100644
--- a/gcc/tree-ssa-uncprop.c
+++ b/gcc/tree-ssa-uncprop.c
@@ -47,6 +47,7 @@ along with GCC; see the file COPYING3. If not see
#include "domwalk.h"
#include "tree-pass.h"
#include "tree-ssa-propagate.h"
+#include "tree-hash-traits.h"
/* The basic structure describing an equivalency created by traversing
an edge. Traversing the edge effectively means that we can assume
@@ -291,25 +292,11 @@ struct equiv_hash_elt
/* Value to ssa name equivalence hashtable helpers. */
-struct val_ssa_equiv_hash_traits : default_hashmap_traits
+struct val_ssa_equiv_hash_traits : simple_hashmap_traits <tree_operand_hash>
{
- static inline hashval_t hash (tree);
- static inline bool equal_keys (tree, tree);
template<typename T> static inline void remove (T &);
};
-inline hashval_t
-val_ssa_equiv_hash_traits::hash (tree value)
-{
- return iterative_hash_expr (value, 0);
-}
-
-inline bool
-val_ssa_equiv_hash_traits::equal_keys (tree value1, tree value2)
-{
- return operand_equal_p (value1, value2, 0);
-}
-
/* Free an instance of equiv_hash_elt. */
template<typename T>