OSDN Git Service

* c-common.c, c-decl.c, c-format.c, c-typeck.c: Use %D for
[pf3gnuchains/gcc-fork.git] / gcc / tree-loop-linear.c
index 8309789..860fafb 100644 (file)
@@ -1,5 +1,5 @@
 /* Linear Loop transforms
-   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
    Contributed by Daniel Berlin <dberlin@dberlin.org>.
 
 This file is part of GCC.
@@ -272,14 +272,13 @@ linear_transform_loops (struct loops *loops)
                 ...
                }
            } */
-      if (!loop_nest->inner)
+      if (!loop_nest || !loop_nest->inner)
        continue;
       depth = 1;
       for (temp = loop_nest->inner; temp; temp = temp->inner)
        {
-         flow_loop_scan (temp, LOOP_ALL);
          /* If we have a sibling loop or multiple exit edges, jump ship.  */
-         if (temp->next || temp->num_exits != 1)
+         if (temp->next || !temp->single_exit)
            {
              problem = true;
              break;
@@ -374,7 +373,8 @@ linear_transform_loops (struct loops *loops)
     }
   free_df ();
   scev_reset ();
-  rewrite_into_loop_closed_ssa ();
+  rewrite_into_ssa (false);
+  rewrite_into_loop_closed_ssa (NULL);
 #ifdef ENABLE_CHECKING
   verify_loop_closed_ssa ();
 #endif