Undo PR tree-optimization/18815 fix.
authorDevang Patel <dpatel@apple.com>
Wed, 2 Mar 2005 20:07:45 +0000 (12:07 -0800)
committerDevang Patel <dpatel@gcc.gnu.org>
Wed, 2 Mar 2005 20:07:45 +0000 (12:07 -0800)
From-SVN: r95803

gcc/ChangeLog
gcc/tree-if-conv.c

index a4aced01cdd08f13b188390cf060c8fa22167602..22bb0a1b0bd2d4bc38521e003c6b58ba96aaaa65 100644 (file)
@@ -1,3 +1,7 @@
+2005-03-02  Devang Patel  <dpatel@apple.com>
+       
+       Undo PR tree-optimization/18815 fix.
+       
 2005-03-02  Devang Patel  <dpatel@apple.com>
 
        PR tree-optimization/18815
index ce66e2a7bbce2956f45db26a446847c9d1136a40..bb832d2461668d2d61b50e3b64b698918bd0e9d1 100644 (file)
@@ -905,21 +905,10 @@ combine_blocks (struct loop *loop)
        continue;
 
       /* It is time to remove this basic block.         First remove edges.  */
-      while (EDGE_COUNT (bb->preds) > 0)
-       remove_edge (EDGE_PRED (bb, 0));
-
-      /* This is loop latch and loop does not have exit then do not
-        delete this basic block. Just remove its PREDS and reconnect 
-        loop->header and loop->latch blocks.  */
-      if (bb == loop->latch && loop->num_exits == 0)
-       {
-         make_edge (loop->header, loop->latch, EDGE_FALLTHRU);
-         set_immediate_dominator (CDI_DOMINATORS, loop->latch, loop->header);
-         continue;
-       }
-
       while (EDGE_COUNT (bb->succs) > 0)
        remove_edge (EDGE_SUCC (bb, 0));
+      while (EDGE_COUNT (bb->preds) > 0)
+       remove_edge (EDGE_PRED (bb, 0));
 
       /* Remove labels and make stmts member of loop->header.  */
       for (bsi = bsi_start (bb); !bsi_end_p (bsi); )