aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Pop <s.pop@samsung.com>2015-10-01 15:17:51 +0000
committerSebastian Pop <spop@gcc.gnu.org>2015-10-01 15:17:51 +0000
commitcf72400ff386816898a63d44045e3b2d18847872 (patch)
tree691a0a7c19096f117538e9de6fd08e085859a1f2
parent526ceb68361419fd9be6d629ac9838c4e88e8425 (diff)
downloadgcc-cf72400ff386816898a63d44045e3b2d18847872.zip
gcc-cf72400ff386816898a63d44045e3b2d18847872.tar.gz
gcc-cf72400ff386816898a63d44045e3b2d18847872.tar.bz2
add recursion on the inner loops
We now check that all data references in the current loop and inner loops contained within loop are valid in an outer region before declaring that the outer loop is a valid scop. 2015-09-30 Sebastian Pop <s.pop@samsung.com> Aditya Kumar <aditya.k7@samsung.com> PR tree-optimization/67754 * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing recursion on the inner loops. Co-Authored-By: Aditya Kumar <aditya.k7@samsung.com> From-SVN: r228346
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/graphite-scop-detection.c12
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c0f2d0f..00d4cea 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2015-10-01 Sebastian Pop <s.pop@samsung.com>
+ Aditya Kumar <aditya.k7@samsung.com>
+
+ PR tree-optimization/67754
+ * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
+ recursion on the inner loops.
+
2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index a498ddc..d95f527 100644
--- a/gcc/graphite-scop-detection.c
+++ b/gcc/graphite-scop-detection.c
@@ -805,6 +805,18 @@ loop_body_is_valid_scop (loop_p loop, sese_l scop)
return false;
}
free (bbs);
+
+ if (loop->inner)
+ {
+ loop = loop->inner;
+ while (loop)
+ {
+ if (!loop_body_is_valid_scop (loop, scop))
+ return false;
+ loop = loop->next;
+ }
+ }
+
return true;
}