OSDN Git Service

2005-10-31 Andrew MacLeod <amacleod@redhat.com>
authoramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 31 Oct 2005 13:38:05 +0000 (13:38 +0000)
committeramacleod <amacleod@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 31 Oct 2005 13:38:05 +0000 (13:38 +0000)
PR tree-optimization/19097
* tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.

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

gcc/ChangeLog
gcc/tree-ssa-operands.c

index cd55c36..2f77e79 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
+       
+       PR tree-optimization/19097
+       * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
+
 2005-10-31  J"orn Rennecke <joern.rennecke@st.com>
 
        * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
index 3084554..0247629 100644 (file)
@@ -311,27 +311,12 @@ correct_use_link (use_operand_p ptr, tree stmt)
   prev = ptr->prev;
   if (prev)
     {
-      bool stmt_mod = true;
-      /* Find the first element which isn't a SAFE iterator, is in a different
-        stmt, and is not a modified stmt.  That node is in the correct list,
-        see if we are too.  */
-
-      while (stmt_mod)
-       {
-         while (prev->stmt == stmt || prev->stmt == NULL)
-           prev = prev->prev;
-         if (prev->use == NULL)
-           stmt_mod = false;
-         else
-           if ((stmt_mod = stmt_modified_p (prev->stmt)))
-             prev = prev->prev;
-       }
+      /* Find the root element, making sure we skip any safe iterators.  */
+      while (prev->use != NULL || prev->stmt == NULL)
+       prev = prev->prev;
 
       /* Get the ssa_name of the list the node is in.  */
-      if (prev->use == NULL)
-       root = prev->stmt;
-      else
-       root = *(prev->use);
+      root = prev->stmt;
       /* If it's the right list, simply return.  */
       if (root == *(ptr->use))
        return;