diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2009-08-12 14:31:21 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2009-08-12 14:31:21 +0000 |
commit | 8c31ebfa3a8b00106ebad9658b526d41aaa5cf19 (patch) | |
tree | 6b1d24efcc4ea3edbf61b7111a67e4ee087168ab | |
parent | fb9fb29034ae7d09acac8e06246e061040c15c98 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ChangeLog.graphite | 7 | ||||
-rw-r--r-- | gcc/graphite-sese-to-poly.c | 20 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/interchange-6.c | 2 |
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" } } */ |