OSDN Git Service

2004-12-13 Daniel Berlin <dberlin@dberlin.org>
authordberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 12 Dec 2004 15:52:33 +0000 (15:52 +0000)
committerdberlin <dberlin@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 12 Dec 2004 15:52:33 +0000 (15:52 +0000)
* tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
* tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
inner loop.

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

gcc/ChangeLog
gcc/tree-ssa-loop-ch.c
gcc/tree-ssa-loop-im.c

index 0a14a0d..da3f3de 100644 (file)
@@ -1,3 +1,9 @@
+2004-12-13  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
+       * tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
+       inner loop.
+
 2004-12-12  Diego Novillo  <dnovillo@redhat.com>
 
        * tree-gimple.c (get_base_address): Update documentation.
index 71d1bf2..e307528 100644 (file)
@@ -152,6 +152,8 @@ copy_loop_headers (void)
       int limit = 20;
 
       loop = loops->parray[i];
+      if (!loop)
+       continue;
       header = loop->header;
 
       /* If the loop is already a do-while style one (either because it was
index 16e477c..05970f8 100644 (file)
@@ -1252,6 +1252,9 @@ determine_lsm (struct loops *loops)
   struct loop *loop;
   basic_block bb;
 
+  if (!loops->tree_root->inner)
+    return;
+
   /* Create a UID for each statement in the function.  Ordering of the
      UIDs is not important for this pass.  */
   max_stmt_uid = 0;