aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2009-08-12 14:31:21 +0000
committerSebastian Pop <spop@gcc.gnu.org>2009-08-12 14:31:21 +0000
commit8c31ebfa3a8b00106ebad9658b526d41aaa5cf19 (patch)
tree6b1d24efcc4ea3edbf61b7111a67e4ee087168ab /gcc
parentfb9fb29034ae7d09acac8e06246e061040c15c98 (diff)
downloadgcc-8c31ebfa3a8b00106ebad9658b526d41aaa5cf19.zip
gcc-8c31ebfa3a8b00106ebad9658b526d41aaa5cf19.tar.gz
gcc-8c31ebfa3a8b00106ebad9658b526d41aaa5cf19.tar.bz2
Dont add unknown subscript upper bounds.
2009-08-11 Sebastian Pop <sebastian.pop@amd.com> * graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add unknown subscript upper bounds. * testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL. From-SVN: r150693
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/ChangeLog.graphite7
-rw-r--r--gcc/graphite-sese-to-poly.c20
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-6.c2
5 files changed, 29 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5c40f97..3280919 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,9 @@
2009-08-12 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add
+ unknown subscript upper bounds.
+
+2009-08-12 Sebastian Pop <sebastian.pop@amd.com>
Pranav Garg <pranav.garg2107@gmail.com>
* graphite-interchange.c (gather_access_strides): Removed.
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index a5fc538..cb67b31 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,4 +1,11 @@
2009-08-11 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add
+ unknown subscript upper bounds.
+
+ * testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL.
+
+2009-08-11 Sebastian Pop <sebastian.pop@amd.com>
Pranav Garg <pranav.garg2107@gmail.com>
* graphite-interchange.c (gather_access_strides): Removed.
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index f05a31d..ad64b8c 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -1669,6 +1669,7 @@ pdr_add_data_dimensions (ppl_Polyhedron_t accesses, data_reference_p dr,
ppl_Linear_Expression_t expr;
ppl_Constraint_t cstr;
ppl_dimension_type subscript = dom_nb_dims + 1 + i;
+ int size;
/* 0 <= subscript */
ppl_new_Linear_Expression_with_dimension (&expr, accessp_nb_dims);
@@ -1685,16 +1686,19 @@ pdr_add_data_dimensions (ppl_Polyhedron_t accesses, data_reference_p dr,
break;
/* subscript <= array_size */
- ppl_new_Linear_Expression_with_dimension (&expr, accessp_nb_dims);
- ppl_set_coef (expr, subscript, -1);
+ size = elt_size ? int_cst_value (array_size) / elt_size : 0;
+ if (size)
+ {
+ ppl_new_Linear_Expression_with_dimension (&expr, accessp_nb_dims);
+ ppl_set_coef (expr, subscript, -1);
- if (elt_size)
- ppl_set_inhomogeneous (expr, int_cst_value (array_size) / elt_size);
+ ppl_set_inhomogeneous (expr, size);
- ppl_new_Constraint (&cstr, expr, PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL);
- ppl_Polyhedron_add_constraint (accesses, cstr);
- ppl_delete_Linear_Expression (expr);
- ppl_delete_Constraint (cstr);
+ ppl_new_Constraint (&cstr, expr, PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL);
+ ppl_Polyhedron_add_constraint (accesses, cstr);
+ ppl_delete_Linear_Expression (expr);
+ ppl_delete_Constraint (cstr);
+ }
elt_size = int_cst_value (array_size);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 408ec94..8eace45 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,4 +1,8 @@
2009-08-12 Sebastian Pop <sebastian.pop@amd.com>
+
+ * testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL.
+
+2009-08-12 Sebastian Pop <sebastian.pop@amd.com>
Pranav Garg <pranav.garg2107@gmail.com>
* testsuite/gcc.dg/graphite/interchange-6.c: XFAILed.
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-6.c b/gcc/testsuite/gcc.dg/graphite/interchange-6.c
index 0197aec..a10dc0c 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-6.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-6.c
@@ -13,5 +13,5 @@ int medium_loop_interchange(int A[100][200])
return A[1][1];
}
-/* { dg-final { scan-tree-dump-times "will be interchanged" 1 "graphite" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "will be interchanged" 1 "graphite" } } */
/* { dg-final { cleanup-tree-dump "graphite" } } */