summaryrefslogtreecommitdiff
path: root/gcc/graphite-scop-detection.c
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-01 15:17:51 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2015-10-01 15:17:51 +0000
commit75f966f746563c5ea158c137b9135e3c384d1661 (patch)
tree691a0a7c19096f117538e9de6fd08e085859a1f2 /gcc/graphite-scop-detection.c
parent04009ada97c55121041815652a9d78a432c61c38 (diff)
downloadgcc-75f966f746563c5ea158c137b9135e3c384d1661.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228346 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-scop-detection.c')
-rw-r--r--gcc/graphite-scop-detection.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c
index a498ddcdbfc..d95f527c619 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;
}