OSDN Git Service

PR tree-optimization/26854
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Apr 2006 16:13:12 +0000 (16:13 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Apr 2006 16:13:12 +0000 (16:13 +0000)
* tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
checking for zero or one use.
* tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
* tree-cfgcleanup.c (merge_phi_nodes): Similarly.
* tree-ssa-reassoc.c (negate_value): Similarly.
(reassociate_bb): Similarly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113120 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-cfgcleanup.c
gcc/tree-ssa-dom.c
gcc/tree-ssa-dse.c
gcc/tree-ssa-reassoc.c

index ba42b12..8241b98 100644 (file)
@@ -1,3 +1,13 @@
+2006-04-20  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/26854
+       * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
+       checking for zero or one use.
+       * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
+       * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
+       * tree-ssa-reassoc.c (negate_value): Similarly.
+       (reassociate_bb): Similarly.
+
 2006-04-20  Jakub Jelinek  <jakub@redhat.com>
 
        * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
index fb1ea76..ab452c4 100644 (file)
@@ -765,13 +765,12 @@ merge_phi_nodes (void)
          for (phi = phi_nodes (bb); phi; phi = PHI_CHAIN (phi))
            {
              tree result = PHI_RESULT (phi);
-             int num_uses = num_imm_uses (result);
              use_operand_p imm_use;
              tree use_stmt;
 
              /* If the PHI's result is never used, then we can just
                 ignore it.  */
-             if (num_uses == 0)
+             if (has_zero_uses (result))
                continue;
 
              /* Get the single use of the result of this PHI node.  */
index 6f7c2eb..d99d6a0 100644 (file)
@@ -2318,7 +2318,7 @@ propagate_rhs_into_lhs (tree stmt, tree lhs, tree rhs, bitmap interesting_names)
         The maximum number of times we can re-execute the loop is
         bounded by the maximum number of times a given SSA_NAME
         appears in a single statement.  */
-      if (all && num_imm_uses (lhs) != 0)
+      if (all && !has_zero_uses (lhs))
        goto repeat;
 
       /* If we were able to propagate away all uses of LHS, then
index 17ed129..85be469 100644 (file)
@@ -269,7 +269,7 @@ dse_optimize_stmt (struct dom_walk_data *walk_data,
 
          /* If this virtual def does not have precisely one use, then
             we will not be able to eliminate STMT.  */
-         if (num_imm_uses (defvar) != 1)
+         if (! has_single_use (defvar))
            {
              fail = true;
              break;
index 4d298fe..477d8c8 100644 (file)
@@ -1032,7 +1032,7 @@ negate_value (tree tonegate, block_stmt_iterator *bsi)
   if (TREE_CODE (tonegate) == SSA_NAME
       && TREE_CODE (negatedef) == MODIFY_EXPR
       && TREE_CODE (TREE_OPERAND (negatedef, 0)) == SSA_NAME
-      && num_imm_uses (TREE_OPERAND (negatedef, 0)) == 1
+      && has_single_use (TREE_OPERAND (negatedef, 0))
       && TREE_CODE (TREE_OPERAND (negatedef, 1)) == PLUS_EXPR)
     {
       block_stmt_iterator bsi;
@@ -1331,7 +1331,7 @@ reassociate_bb (basic_block bb)
 
              /* There may be no immediate uses left by the time we
                 get here because we may have eliminated them all.  */
-             if (TREE_CODE (lhs) == SSA_NAME && num_imm_uses (lhs) == 0)
+             if (TREE_CODE (lhs) == SSA_NAME && has_zero_uses (lhs))
                continue;
 
              TREE_VISITED (stmt) = 1;