From 27165eddf6cd08f66d24bfd7751675cfb84c6a6c Mon Sep 17 00:00:00 2001
From: Sebastian Pop <sebastian.pop@amd.com>
Date: Wed, 27 Jul 2011 16:53:02 +0000
Subject: [PATCH] PR45450: disable legality check after an openscop read

2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/45450
	* graphite-poly.c (apply_poly_transforms): Disable legality check
	after an openscop read.

From-SVN: r176837
---
 gcc/ChangeLog       | 6 ++++++
 gcc/graphite-poly.c | 6 +++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1c2f0562b6f6..46e8c0e55e3d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>
+
+	PR middle-end/45450
+	* graphite-poly.c (apply_poly_transforms): Disable legality check
+	after an openscop read.
+
 2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>
 
 	PR middle-end/47691
diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index bfdbc9f3af4c..db5b0cbf3add 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -738,7 +738,11 @@ apply_poly_transforms (scop_p scop)
       graphite_file = init_graphite_in_file (file_scop_number);
       transform_done |= graphite_read_scop_file (graphite_file, scop);
 
-      if (!graphite_legal_transform (scop))
+      /* We cannot check for the legality of the transform here: there
+	 are cases where graphite_legal_transform cannot determine the
+	 dependence at compile time.  For an example, see the
+	 explanation of why http://gcc.gnu.org/PR45450 is invalid.  */
+      if (0 && !graphite_legal_transform (scop))
 	fatal_error ("the graphite file read for scop %d does not contain a legal transform",
 		     (int) file_scop_number);
 
-- 
GitLab