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

Reply via email to