From: Sebastian Pop Date: Wed, 12 Aug 2009 14:31:21 +0000 (+0000) Subject: Dont add unknown subscript upper bounds. X-Git-Tag: releases/gcc-4.5.0~4066 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8c31ebfa3a8b00106ebad9658b526d41aaa5cf19;p=thirdparty%2Fgcc.git Dont add unknown subscript upper bounds. 2009-08-11 Sebastian Pop * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5c40f970e754..3280919183c3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-08-12 Sebastian Pop + + * graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add + unknown subscript upper bounds. + 2009-08-12 Sebastian Pop Pranav Garg diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index a5fc5387fa39..cb67b31c026f 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,10 @@ +2009-08-11 Sebastian Pop + + * 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 Pranav Garg diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c index f05a31d2e5d8..ad64b8c34990 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 408ec9443c46..8eace4500237 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2009-08-12 Sebastian Pop + + * testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL. + 2009-08-12 Sebastian Pop Pranav Garg diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-6.c b/gcc/testsuite/gcc.dg/graphite/interchange-6.c index 0197aecbd01a..a10dc0c5c7c1 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" } } */