summaryrefslogtreecommitdiff
path: root/gcc/gimple-ssa.h
diff options
context:
space:
mode:
authortbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-20 15:10:56 +0000
committertbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-20 15:10:56 +0000
commitb7aa58e45b5ed7639b872a9201d5016db87ba596 (patch)
tree32d0ea1b5e051e3d370ca84a45ea541a8f404a5d /gcc/gimple-ssa.h
parent9f9f871f6cb738b7ce11633bd9a2e7336b136786 (diff)
downloadgcc-b7aa58e45b5ed7639b872a9201d5016db87ba596.tar.gz
convert trans-mem to hash_table
gcc/ * cfgexpand.c, gimple-ssa.h, trans-mem.c: Replace htab with hash_table. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217872 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gimple-ssa.h')
-rw-r--r--gcc/gimple-ssa.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/gcc/gimple-ssa.h b/gcc/gimple-ssa.h
index c0239561787..9bdb23315d0 100644
--- a/gcc/gimple-ssa.h
+++ b/gcc/gimple-ssa.h
@@ -28,11 +28,24 @@ along with GCC; see the file COPYING3. If not see
/* This structure is used to map a gimple statement to a label,
or list of labels to represent transaction restart. */
-struct GTY(()) tm_restart_node {
+struct GTY((for_user)) tm_restart_node {
gimple stmt;
tree label_or_list;
};
+/* Hasher for tm_restart_node. */
+
+struct tm_restart_hasher : ggc_hasher<tm_restart_node *>
+{
+ static hashval_t hash (tm_restart_node *n) { return htab_hash_pointer (n); }
+
+ static bool
+ equal (tm_restart_node *a, tm_restart_node *b)
+ {
+ return a == b;
+ }
+};
+
struct ssa_name_hasher : ggc_hasher<tree>
{
/* Hash a tree in a uid_decl_map. */
@@ -101,7 +114,7 @@ struct GTY(()) gimple_df {
/* Map gimple stmt to tree label (or list of labels) for transaction
restart and abort. */
- htab_t GTY ((param_is (struct tm_restart_node))) tm_restart;
+ hash_table<tm_restart_hasher> *tm_restart;
};