diff mbox

Minor DOM cleanup

Message ID 55F729D2.20805@redhat.com
State New
Headers show

Commit Message

Jeff Law Sept. 14, 2015, 8:10 p.m. UTC
Passing void * to avail_expr_hash was an artifact of the old htab 
interface.  Since we're no longer using that interface and call the 
hashing routine directly, we can just pass in the right type and avoid 
the annoying casting.

This simplifies class-ifying the available expression stack and related 
bits on the way to fixing 47679.

Bootstrapped and regression tested on x86_64-linux-gnu.  Installed on 
the trunk.


Jeff
PR tree-optimization/47679
	* tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
	type rather than void *.
diff mbox

Patch

diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index e3eb0db..248d24f 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -231,7 +231,7 @@  static struct opt_stats_d opt_stats;
 /* Local functions.  */
 static void optimize_stmt (basic_block, gimple_stmt_iterator);
 static tree lookup_avail_expr (gimple, bool);
-static hashval_t avail_expr_hash (const void *);
+static hashval_t avail_expr_hash (struct expr_hash_elt *);
 static void htab_statistics (FILE *,
 			     const hash_table<expr_elt_hasher> &);
 static void record_cond (cond_equivalence *);
@@ -2661,9 +2661,9 @@  lookup_avail_expr (gimple stmt, bool insert)
    its operands.  */
 
 static hashval_t
-avail_expr_hash (const void *p)
+avail_expr_hash (struct expr_hash_elt *p)
 {
-  const struct hashable_expr *expr = &((const struct expr_hash_elt *)p)->expr;
+  const struct hashable_expr *expr = &p->expr;
   inchash::hash hstate;
 
   inchash::add_hashable_expr (expr, hstate);