graphite-scop-detection.c (scop_detection::can_represent_loop): Do not iterate to...
authorRichard Biener <rguenther@suse.de>
Tue, 19 Sep 2017 07:14:12 +0000 (07:14 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Tue, 19 Sep 2017 07:14:12 +0000 (07:14 +0000)
2017-09-19  Richard Biener  <rguenther@suse.de>

* graphite-scop-detection.c (scop_detection::can_represent_loop):
Do not iterate to sibling loops but only to siblings of inner
loops.

From-SVN: r252962

gcc/ChangeLog
gcc/graphite-scop-detection.c

index 2267d2e940be0fe63f7a3d2d594ea3c15dbc673f..79a492f83a97c80649bbaf6f74d4801e945b072f 100644 (file)
@@ -1,3 +1,9 @@
+2017-09-19  Richard Biener  <rguenther@suse.de>
+
+       * graphite-scop-detection.c (scop_detection::can_represent_loop):
+       Do not iterate to sibling loops but only to siblings of inner
+       loops.
+
 2017-09-18  Andreas Schwab  <schwab@linux-m68k.org>
 
        PR target/81613
index 71ddfd8e23464372d5a57cc58cc2784e9a317d57..3ed6afd0a6a0e92e4ab10bc900b0d8819d3ded36 100644 (file)
@@ -975,11 +975,9 @@ scop_detection::can_represent_loop (loop_p loop, sese_l scop)
 {
   if (!can_represent_loop_1 (loop, scop))
     return false;
-  if (loop->inner && !can_represent_loop (loop->inner, scop))
-    return false;
-  if (loop->next && !can_represent_loop (loop->next, scop))
-    return false;
-
+  for (loop_p inner = loop->inner; inner; inner = inner->next)
+    if (!can_represent_loop (inner, scop))
+      return false;
   return true;
 }