OSDN Git Service

2004-07-16 Daniel Berlin <dberlin@dberlin.org>
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jul 2004 22:51:48 +0000 (22:51 +0000)
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Jul 2004 22:51:48 +0000 (22:51 +0000)
* tree-ssa-pre.c (insert_aux): Break out if we hit
a critical edge.

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

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

index df18afa..a89927f 100644 (file)
@@ -1,3 +1,8 @@
+2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (insert_aux): Break out if we hit
+       a critical edge.
+
 2004-07-16  Richard Henderson  <rth@redhat.com>
 
        * basic-block.h (remove_fake_exit_edges): Declare.
index ba4be7b..a694398 100644 (file)
@@ -1457,6 +1457,15 @@ insert_aux (basic_block block)
                        {
                          tree vprime;
                          tree edoubleprime;
+
+                         /* This can happen in the very weird case
+                            that our fake infinite loop edges have caused a
+                            critical edge to appear.  */
+                         if (EDGE_CRITICAL_P (pred))
+                           {
+                             cant_insert = true;
+                             break;
+                           }
                          bprime = pred->src;
                          eprime = phi_translate (node->expr,
                                                  ANTIC_IN (block),