diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-25 17:16:02 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-25 17:16:02 +0000 |
commit | ad7173b950b018232beaea51a9c31be0a2555f37 (patch) | |
tree | af7ce16a0d3a01d46fbfdf11fee855773e841859 /gcc/tree-hash-traits.h | |
parent | 3c17973d9e981a2c51be073ca3ccd13c25048bde (diff) | |
download | gcc-ad7173b950b018232beaea51a9c31be0a2555f37.tar.gz |
gcc/
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224969 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-hash-traits.h')
-rw-r--r-- | gcc/tree-hash-traits.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/tree-hash-traits.h b/gcc/tree-hash-traits.h index 9a2fda7bac6..1f4364f591e 100644 --- a/gcc/tree-hash-traits.h +++ b/gcc/tree-hash-traits.h @@ -53,4 +53,18 @@ tree_decl_hash::hash (tree t) return DECL_UID (t); } +/* Hash for SSA_NAMEs in the same function. Pointer equality is enough + here, but the SSA_NAME_VERSION is a better hash than the pointer + value and gives a predictable traversal order. */ +struct tree_ssa_name_hash : ggc_ptr_hash <tree_node> +{ + static inline hashval_t hash (tree); +}; + +inline hashval_t +tree_ssa_name_hash::hash (tree t) +{ + return SSA_NAME_VERSION (t); +} + #endif |