diff options
author | Andi Kleen <ak@linux.intel.com> | 2014-08-01 02:52:52 +0000 |
---|---|---|
committer | Andi Kleen <ak@gcc.gnu.org> | 2014-08-01 02:52:52 +0000 |
commit | bb7e83fccb81c2dca2b6a00a0ab5f53319493b06 (patch) | |
tree | 30f1f591ebd0e2b0bc1967ad4f6c0f84fb8c4a52 /gcc | |
parent | 4e44a6e8bda25afc8a097222fe3e5c4ef66a0e8a (diff) | |
download | gcc-bb7e83fccb81c2dca2b6a00a0ab5f53319493b06.zip gcc-bb7e83fccb81c2dca2b6a00a0ab5f53319493b06.tar.gz gcc-bb7e83fccb81c2dca2b6a00a0ab5f53319493b06.tar.bz2 |
Convert tree-ssa-tail-merge to inchash
gcc/:
2014-07-31 Andi Kleen <ak@linux.intel.com>
* tree-ssa-tail-merge.c (same_succ_hash): Convert to inchash.
From-SVN: r213400
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/tree-ssa-tail-merge.c | 22 |
2 files changed, 14 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 331cd45..13e0c5e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2014-07-31 Andi Kleen <ak@linux.intel.com> + * tree-ssa-tail-merge.c (same_succ_hash): Convert to inchash. + +2014-07-31 Andi Kleen <ak@linux.intel.com> + * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Convert to inchash. (vn_reference_compute_hash): Dito. diff --git a/gcc/tree-ssa-tail-merge.c b/gcc/tree-ssa-tail-merge.c index 4296c77..5615c79 100644 --- a/gcc/tree-ssa-tail-merge.c +++ b/gcc/tree-ssa-tail-merge.c @@ -451,7 +451,7 @@ stmt_update_dep_bb (gimple stmt) static hashval_t same_succ_hash (const_same_succ e) { - hashval_t hashval = bitmap_hash (e->succs); + inchash::hash hstate (bitmap_hash (e->succs)); int flags; unsigned int i; unsigned int first = bitmap_first_set_bit (e->bbs); @@ -472,37 +472,35 @@ same_succ_hash (const_same_succ e) continue; size++; - hashval = iterative_hash_hashval_t (gimple_code (stmt), hashval); + hstate.add_int (gimple_code (stmt)); if (is_gimple_assign (stmt)) - hashval = iterative_hash_hashval_t (gimple_assign_rhs_code (stmt), - hashval); + hstate.add_int (gimple_assign_rhs_code (stmt)); if (!is_gimple_call (stmt)) continue; if (gimple_call_internal_p (stmt)) - hashval = iterative_hash_hashval_t - ((hashval_t) gimple_call_internal_fn (stmt), hashval); + hstate.add_int (gimple_call_internal_fn (stmt)); else { - hashval = iterative_hash_expr (gimple_call_fn (stmt), hashval); + inchash::add_expr (gimple_call_fn (stmt), hstate); if (gimple_call_chain (stmt)) - hashval = iterative_hash_expr (gimple_call_chain (stmt), hashval); + inchash::add_expr (gimple_call_chain (stmt), hstate); } for (i = 0; i < gimple_call_num_args (stmt); i++) { arg = gimple_call_arg (stmt, i); arg = vn_valueize (arg); - hashval = iterative_hash_expr (arg, hashval); + inchash::add_expr (arg, hstate); } } - hashval = iterative_hash_hashval_t (size, hashval); + hstate.add_int (size); BB_SIZE (bb) = size; for (i = 0; i < e->succ_flags.length (); ++i) { flags = e->succ_flags[i]; flags = flags & ~(EDGE_TRUE_VALUE | EDGE_FALSE_VALUE); - hashval = iterative_hash_hashval_t (flags, hashval); + hstate.add_int (flags); } EXECUTE_IF_SET_IN_BITMAP (e->succs, 0, s, bs) @@ -521,7 +519,7 @@ same_succ_hash (const_same_succ e) } } - return hashval; + return hstate.end (); } /* Returns true if E1 and E2 have 2 successors, and if the successor flags |