tree-ssa-dom.c (thread_across_edge): Remove broken code to avoid threading into a...
authorJeff Law <law@redhat.com>
Tue, 28 Dec 2004 06:34:55 +0000 (23:34 -0700)
committerJeff Law <law@gcc.gnu.org>
Tue, 28 Dec 2004 06:34:55 +0000 (23:34 -0700)
        * tree-ssa-dom.c (thread_across_edge): Remove broken code to
        avoid threading into a loop.

From-SVN: r92666

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

index 9f1531e..5526fcb 100644 (file)
@@ -1,3 +1,8 @@
+2004-12-27  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (thread_across_edge): Remove broken code to
+       avoid threading into a loop.
+
 2004-12-27  Richard Henderson  <rth@redhat.com>
 
        PR target/17406
index 81fdb0e..67446b1 100644 (file)
@@ -686,22 +686,6 @@ thread_across_edge (struct dom_walk_data *walk_data, edge e)
          || TREE_CODE (stmt) == SWITCH_EXPR))
     {
       tree cond, cached_lhs;
-      edge e1;
-      edge_iterator ei;
-
-      /* Do not forward entry edges into the loop.  In the case loop
-        has multiple entry edges we may end up in constructing irreducible
-        region.  
-        ??? We may consider forwarding the edges in the case all incoming
-        edges forward to the same destination block.  */
-      if (!e->flags & EDGE_DFS_BACK)
-       {
-         FOR_EACH_EDGE (e1, ei, e->dest->preds)
-           if (e1->flags & EDGE_DFS_BACK)
-             break;
-         if (e1)
-           return;
-       }
 
       /* Now temporarily cprop the operands and try to find the resulting
         expression in the hash tables.  */