diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/tree-ssa-dom.c | 16 |
2 files changed, 5 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f1531e..5526fcb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index 81fdb0e..67446b1 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -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. */ |
