The code in the dom_valueize function is duplicated a number of times; so, call the function.
Also remove a comment in lookup_avail_expr re const_and_copies, describing one of said duplicates, that looks like it was superceded in r87787. Bootstrapped + check-gcc on x86-none-linux-gnu. gcc/ChangeLog: * tree-ssa-dom.c (record_equivalences_from_phis, record_equivalences_from_stmt, optimize_stmt): Use dom_valueize. (lookup_avail_expr): Likewise, and remove comment and unused temp. --- gcc/tree-ssa-dom.c | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index a7d42bc..5a9a8aa 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -1577,12 +1577,7 @@ record_equivalences_from_phis (basic_block bb) if (lhs == t) continue; - /* Valueize t. */ - if (TREE_CODE (t) == SSA_NAME) - { - tree tmp = SSA_NAME_VALUE (t); - t = tmp ? tmp : t; - } + t = dom_valueize (t); /* If we have not processed an alternative yet, then set RHS to this alternative. */ @@ -2160,12 +2155,7 @@ record_equivalences_from_stmt (gimple stmt, int may_optimize_p) && (TREE_CODE (rhs) == SSA_NAME || is_gimple_min_invariant (rhs))) { - /* Valueize rhs. */ - if (TREE_CODE (rhs) == SSA_NAME) - { - tree tmp = SSA_NAME_VALUE (rhs); - rhs = tmp ? tmp : rhs; - } + rhs = dom_valueize (rhs); if (dump_file && (dump_flags & TDF_DETAILS)) { @@ -2442,12 +2432,7 @@ optimize_stmt (basic_block bb, gimple_stmt_iterator si) tree rhs = gimple_assign_rhs1 (stmt); tree cached_lhs; gassign *new_stmt; - if (TREE_CODE (rhs) == SSA_NAME) - { - tree tem = SSA_NAME_VALUE (rhs); - if (tem) - rhs = tem; - } + rhs = dom_valueize (rhs); /* Build a new statement with the RHS and LHS exchanged. */ if (TREE_CODE (rhs) == SSA_NAME) { @@ -2569,7 +2554,6 @@ lookup_avail_expr (gimple stmt, bool insert) { expr_hash_elt **slot; tree lhs; - tree temp; struct expr_hash_elt element; /* Get LHS of phi, assignment, or call; else NULL_TREE. */ @@ -2664,14 +2648,7 @@ lookup_avail_expr (gimple stmt, bool insert) definition of another variable. */ lhs = (*slot)->lhs; - /* See if the LHS appears in the CONST_AND_COPIES table. If it does, then - use the value from the const_and_copies table. */ - if (TREE_CODE (lhs) == SSA_NAME) - { - temp = SSA_NAME_VALUE (lhs); - if (temp) - lhs = temp; - } + lhs = dom_valueize (lhs); if (dump_file && (dump_flags & TDF_DETAILS)) { -- 1.8.3