cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash.
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 25 Jun 2015 17:06:52 +0000 (17:06 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 25 Jun 2015 17:06:52 +0000 (17:06 +0000)
gcc/
* cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash.  Remove
redundant typedefs and members.
* coverage.c (counts_entry): Inherit from pointer_hash.  Remove
redundant typedefs.
* dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
* ipa-devirt.c (odr_name_hasher): Likewise.
(polymorphic_call_target_hasher): Likewise.
* ira-costs.c (cost_classes_hasher): Likewise.
* statistics.c (stats_counter_hasher): Likewise.
* trans-mem.c (log_entry_hasher): Likewise.
* tree-ssa-dom.c (expr_elt_hasher): Likewise.
* tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
* tree-ssa-tail-merge.c (same_succ_def): Likewise.
* var-tracking.c (variable_hasher): Likewise.
* valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
Remove redundant typedefs and members.

From-SVN: r224961

13 files changed:
gcc/ChangeLog
gcc/cgraph.h
gcc/coverage.c
gcc/dwarf2out.c
gcc/ipa-devirt.c
gcc/ira-costs.c
gcc/statistics.c
gcc/trans-mem.c
gcc/tree-ssa-dom.c
gcc/tree-ssa-sccvn.c
gcc/tree-ssa-tail-merge.c
gcc/valtrack.h
gcc/var-tracking.c

index 3f906d8eff60a90e0fbc5105c6dab95b51222b36..27bbec5ab068b008327f8a9b6c64f11e9f7dc9a6 100644 (file)
@@ -1,3 +1,22 @@
+2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash.  Remove
+       redundant typedefs and members.
+       * coverage.c (counts_entry): Inherit from pointer_hash.  Remove
+       redundant typedefs.
+       * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
+       * ipa-devirt.c (odr_name_hasher): Likewise.
+       (polymorphic_call_target_hasher): Likewise.
+       * ira-costs.c (cost_classes_hasher): Likewise.
+       * statistics.c (stats_counter_hasher): Likewise.
+       * trans-mem.c (log_entry_hasher): Likewise.
+       * tree-ssa-dom.c (expr_elt_hasher): Likewise.
+       * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
+       * tree-ssa-tail-merge.c (same_succ_def): Likewise.
+       * var-tracking.c (variable_hasher): Likewise.
+       * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
+       Remove redundant typedefs and members.
+
 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
 
        * hash-traits.h (ggc_cache_hasher): Rename to...
index d4cb94d49501dae9a50470ed460fa06bd041c7c5..affed3a30bc626a0791d7025887a207ff3bbda69 100644 (file)
@@ -1854,17 +1854,12 @@ enum symtab_state
   FINISHED
 };
 
-struct asmname_hasher
+struct asmname_hasher : ggc_ptr_hash <symtab_node>
 {
-  typedef symtab_node *value_type;
   typedef const_tree compare_type;
 
   static hashval_t hash (symtab_node *n);
   static bool equal (symtab_node *n, const_tree t);
-  static void ggc_mx (symtab_node *n);
-  static void pch_nx (symtab_node *&);
-  static void pch_nx (symtab_node *&, gt_pointer_operator, void *);
-  static void remove (symtab_node *) {}
 };
 
 class GTY((tag ("SYMTAB"))) symbol_table
@@ -2174,28 +2169,6 @@ asmname_hasher::equal (symtab_node *n, const_tree t)
   return symbol_table::decl_assembler_name_equal (n->decl, t);
 }
 
-extern void gt_ggc_mx (symtab_node *&);
-
-inline void
-asmname_hasher::ggc_mx (symtab_node *n)
-{
-  gt_ggc_mx (n);
-}
-
-extern void gt_pch_nx (symtab_node *&);
-
-inline void
-asmname_hasher::pch_nx (symtab_node *&n)
-{
-  gt_pch_nx (n);
-}
-
-inline void
-asmname_hasher::pch_nx (symtab_node *&n, gt_pointer_operator op, void *cookie)
-{
-  op (&n, cookie);
-}
-
 /* In cgraph.c  */
 void cgraph_c_finalize (void);
 void release_function_body (tree);
index 40d788f368cfb514d6007ec5705c0b974aa242f9..a9c5e86b331aa1b9aff88a969ef7ddabcfb6400d 100644 (file)
@@ -86,7 +86,7 @@ struct GTY((chain_next ("%h.next"))) coverage_data
 };
 
 /* Counts information for a function.  */
-typedef struct counts_entry
+typedef struct counts_entry : pointer_hash <counts_entry>
 {
   /* We hash by  */
   unsigned ident;
@@ -99,8 +99,6 @@ typedef struct counts_entry
   struct gcov_ctr_summary summary;
 
   /* hash_table support.  */
-  typedef counts_entry *value_type;
-  typedef counts_entry *compare_type;
   static inline hashval_t hash (const counts_entry *);
   static int equal (const counts_entry *, const counts_entry *);
   static void remove (counts_entry *);
index 0f08daacf13ed911f406e693a7e57828024a3f93..11d11271c676ead6d9ca9d440c74807936af9d38 100644 (file)
@@ -6957,9 +6957,8 @@ struct cu_hash_table_entry
 
 /* Helpers to manipulate hash table of CUs.  */
 
-struct cu_hash_table_entry_hasher
+struct cu_hash_table_entry_hasher : pointer_hash <cu_hash_table_entry>
 {
-  typedef cu_hash_table_entry *value_type;
   typedef die_struct *compare_type;
   static inline hashval_t hash (const cu_hash_table_entry *);
   static inline bool equal (const cu_hash_table_entry *, const die_struct *);
index 1bf4b1acb6b401b468f41c344575a67bc06802b2..b735f64784aac1c438c40291654b83e2daf6e50e 100644 (file)
@@ -383,9 +383,8 @@ type_possibly_instantiated_p (tree t)
 /* Hash used to unify ODR types based on their mangled name and for anonymous
    namespace types.  */
 
-struct odr_name_hasher
+struct odr_name_hasher : pointer_hash <odr_type_d>
 {
-  typedef odr_type_d *value_type;
   typedef union tree_node *compare_type;
   static inline hashval_t hash (const odr_type_d *);
   static inline bool equal (const odr_type_d *, const tree_node *);
@@ -2724,10 +2723,9 @@ struct polymorphic_call_target_d
 
 /* Polymorphic call target cache helpers.  */
 
-struct polymorphic_call_target_hasher 
+struct polymorphic_call_target_hasher
+  : pointer_hash <polymorphic_call_target_d>
 {
-  typedef polymorphic_call_target_d *value_type;
-  typedef polymorphic_call_target_d *compare_type;
   static inline hashval_t hash (const polymorphic_call_target_d *);
   static inline bool equal (const polymorphic_call_target_d *,
                            const polymorphic_call_target_d *);
index 972978d603a3b4520d413a3b29d782ead7780cd8..0d39215b0479f086a813299ed4b173a5dc26f8d8 100644 (file)
@@ -147,10 +147,8 @@ static cost_classes_t *regno_cost_classes;
 
 /* Helper for cost_classes hashing.  */
 
-struct cost_classes_hasher
+struct cost_classes_hasher : pointer_hash <cost_classes>
 {
-  typedef cost_classes *value_type;
-  typedef cost_classes *compare_type;
   static inline hashval_t hash (const cost_classes *);
   static inline bool equal (const cost_classes *, const cost_classes *);
   static inline void remove (cost_classes *);
index 233926d53a61f00d22719aa66f594b3ba53fe1bb..97884faf81eb5e66ad780e3648d9d9fb9ddd9edc 100644 (file)
@@ -46,10 +46,8 @@ typedef struct statistics_counter_s {
 
 /* Hashtable helpers.  */
 
-struct stats_counter_hasher
+struct stats_counter_hasher : pointer_hash <statistics_counter_t>
 {
-  typedef statistics_counter_t *value_type;
-  typedef statistics_counter_t *compare_type;
   static inline hashval_t hash (const statistics_counter_t *);
   static inline bool equal (const statistics_counter_t *,
                            const statistics_counter_t *);
index 9e860ce794262d17f4310d2600e26e20885f24ae..0b7c2da9d362b1c436c3804ef2931efab66eb00b 100644 (file)
@@ -955,10 +955,8 @@ typedef struct tm_log_entry
 
 /* Log entry hashtable helpers.  */
 
-struct log_entry_hasher
+struct log_entry_hasher : pointer_hash <tm_log_entry>
 {
-  typedef tm_log_entry *value_type;
-  typedef tm_log_entry *compare_type;
   static inline hashval_t hash (const tm_log_entry *);
   static inline bool equal (const tm_log_entry *, const tm_log_entry *);
   static inline void remove (tm_log_entry *);
index 8cded4c78c1d439f2c4f7361a0c1d3acc005e43e..e45b78c411aa9f9c8f486763ec6a6a3748a5be4d 100644 (file)
@@ -166,10 +166,8 @@ static bool hashable_expr_equal_p (const struct hashable_expr *,
                                   const struct hashable_expr *);
 static void free_expr_hash_elt (void *);
 
-struct expr_elt_hasher
+struct expr_elt_hasher : pointer_hash <expr_hash_elt>
 {
-  typedef expr_hash_elt *value_type;
-  typedef expr_hash_elt *compare_type;
   static inline hashval_t hash (const value_type &);
   static inline bool equal (const value_type &, const compare_type &);
   static inline void remove (value_type &);
index 5f8abd14c380e5621d6e56ac97e51986943a9725..15b8b85d70a0a17f572c245ceeadce2424376c5b 100644 (file)
@@ -170,10 +170,8 @@ typedef vn_nary_op_table_type::iterator vn_nary_op_iterator_type;
 static int
 vn_phi_eq (const_vn_phi_t const vp1, const_vn_phi_t const vp2);
 
-struct vn_phi_hasher
+struct vn_phi_hasher : pointer_hash <vn_phi_s>
 { 
-  typedef vn_phi_s *value_type;
-  typedef vn_phi_s *compare_type;
   static inline hashval_t hash (const vn_phi_s *);
   static inline bool equal (const vn_phi_s *, const vn_phi_s *);
   static inline void remove (vn_phi_s *);
@@ -238,10 +236,8 @@ free_reference (vn_reference_s *vr)
 
 /* vn_reference hashtable helpers.  */
 
-struct vn_reference_hasher
+struct vn_reference_hasher : pointer_hash <vn_reference_s>
 {
-  typedef vn_reference_s *value_type;
-  typedef vn_reference_s *compare_type;
   static inline hashval_t hash (const vn_reference_s *);
   static inline bool equal (const vn_reference_s *, const vn_reference_s *);
   static inline void remove (vn_reference_s *);
index f13ded0823a14558a05a38f187f03e7b1a4a59ab..3c660f9f0bd02e1effd81a02976a3e82fdb5f2e7 100644 (file)
@@ -231,7 +231,7 @@ along with GCC; see the file COPYING3.  If not see
    Additionally, the hash value for the struct is cached in hashval, and
    in_worklist indicates whether it's currently part of worklist.  */
 
-struct same_succ_def
+struct same_succ_def : pointer_hash <same_succ_def>
 {
   /* The bbs that have the same successor bbs.  */
   bitmap bbs;
@@ -248,8 +248,6 @@ struct same_succ_def
   hashval_t hashval;
 
   /* hash_table support.  */
-  typedef same_succ_def *value_type;
-  typedef same_succ_def *compare_type;
   static inline hashval_t hash (const same_succ_def *);
   static int equal (const same_succ_def *, const same_succ_def *);
   static void remove (same_succ_def *);
index 67bdebb3503b32a8b536df2219ae3f05e0e18336..7223a4319894288ac94f16ed4ff95e747937dd9a 100644 (file)
@@ -41,18 +41,13 @@ struct dead_debug_global_entry
 /* Descriptor for hash_table to hash by dead_debug_global_entry's REG
    and map to DTEMP.  */
 
-struct dead_debug_hash_descr
+struct dead_debug_hash_descr : free_ptr_hash <dead_debug_global_entry>
 {
-  /* The hash table contains pointers to entries of this type.  */
-  typedef struct dead_debug_global_entry *value_type;
-  typedef struct dead_debug_global_entry *compare_type;
   /* Hash on the pseudo number.  */
   static inline hashval_t hash (const dead_debug_global_entry *my);
   /* Entries are identical if they refer to the same pseudo.  */
   static inline bool equal (const dead_debug_global_entry *my,
                            const dead_debug_global_entry *other);
-  /* Release entries when they're removed.  */
-  static inline void remove (dead_debug_global_entry *p);
 };
 
 /* Hash on the pseudo number.  */
@@ -70,13 +65,6 @@ dead_debug_hash_descr::equal (const dead_debug_global_entry *my,
   return my->reg == other->reg;
 }
 
-/* Release entries when they're removed.  */
-inline void
-dead_debug_hash_descr::remove (dead_debug_global_entry *p)
-{
-  XDELETE (p);
-}
-
 /* Maintain a global table of pseudos used in debug insns after their
    deaths in other blocks, and debug temps their deathpoint values are
    to be bound to.  */
index dbf090e21b5aa1c4462ed145a509f05f2dc62868..ebd0cfa7a7c2f7e6117d5640917cf30f5453aa39 100644 (file)
@@ -524,9 +524,8 @@ static void variable_htab_free (void *);
 
 /* Variable hashtable helpers.  */
 
-struct variable_hasher
+struct variable_hasher : pointer_hash <variable_def>
 {
-  typedef variable_def *value_type;
   typedef void *compare_type;
   static inline hashval_t hash (const variable_def *);
   static inline bool equal (const variable_def *, const void *);