aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-06-24 15:46:56 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-06-24 15:46:56 -0700
commit940db2c87c3406a8d1a86890f3e2958ab503b880 (patch)
treea7a87358b8f60cbe7e877b4f680e9158d3424954
parentc2484a8b43b3aaa60fb0a1681c735ab0fe459476 (diff)
downloadgcc-940db2c87c3406a8d1a86890f3e2958ab503b880.zip
gcc-940db2c87c3406a8d1a86890f3e2958ab503b880.tar.gz
gcc-940db2c87c3406a8d1a86890f3e2958ab503b880.tar.bz2
tree-ssa-dom.c (real_avail_expr_hash): New.
* tree-ssa-dom.c (real_avail_expr_hash): New. (tree_ssa_dominator_optimize): Use it in the htab. From-SVN: r83616
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssa-dom.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 065feb1..f4eaef7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-24 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-dom.c (real_avail_expr_hash): New.
+ (tree_ssa_dominator_optimize): Use it in the htab.
+
2004-06-24 Frank Ch. Eigler <fche@redhat.com>
* tree-mudflap.c (mx_register_decls): Add third (type) argument
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index a415142..627ba25 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -223,6 +223,7 @@ static tree lookup_avail_expr (tree, varray_type *, bool);
static struct eq_expr_value get_eq_expr_value (tree, int, varray_type *,
basic_block, varray_type *);
static hashval_t avail_expr_hash (const void *);
+static hashval_t real_avail_expr_hash (const void *);
static int avail_expr_eq (const void *, const void *);
static void htab_statistics (FILE *, htab_t);
static void record_cond (tree, tree, varray_type *);
@@ -553,7 +554,7 @@ tree_ssa_dominator_optimize (void)
mark_dfs_back_edges ();
/* Create our hash tables. */
- avail_exprs = htab_create (1024, avail_expr_hash, avail_expr_eq, free);
+ avail_exprs = htab_create (1024, real_avail_expr_hash, avail_expr_eq, free);
VARRAY_TREE_INIT (const_and_copies, num_ssa_names, "const_and_copies");
nonzero_vars = BITMAP_XMALLOC ();
VARRAY_EDGE_INIT (redirection_edges, 20, "redirection_edges");
@@ -3294,6 +3295,11 @@ avail_expr_hash (const void *p)
return val;
}
+static hashval_t
+real_avail_expr_hash (const void *p)
+{
+ return ((const struct expr_hash_elt *)p)->hash;
+}
static int
avail_expr_eq (const void *p1, const void *p2)