diff options
| author | Tobias Grosser <grosser@fim.uni-passau.de> | 2011-10-23 20:59:17 +0000 |
|---|---|---|
| committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2011-10-23 20:59:17 +0000 |
| commit | 318955b516a4ed5c31dfba21b0563961e3585579 (patch) | |
| tree | 2ae0b594edccc895d690a6c9d21300d1128445dd | |
| parent | 76a42df06e3613145c4971fdf20720ba60353cbe (diff) | |
| download | bcm5719-llvm-318955b516a4ed5c31dfba21b0563961e3585579.tar.gz bcm5719-llvm-318955b516a4ed5c31dfba21b0563961e3585579.zip | |
Fix compilation of Polly with scoplib support
llvm-svn: 142767
| -rw-r--r-- | polly/lib/Exchange/ScopLib.cpp | 76 | ||||
| -rw-r--r-- | polly/lib/Pocc.cpp | 14 |
2 files changed, 48 insertions, 42 deletions
diff --git a/polly/lib/Exchange/ScopLib.cpp b/polly/lib/Exchange/ScopLib.cpp index 05294e25bb0..68080e9a1de 100644 --- a/polly/lib/Exchange/ScopLib.cpp +++ b/polly/lib/Exchange/ScopLib.cpp @@ -93,7 +93,7 @@ scoplib_statement_p ScopLib::initializeStatement(ScopStmt *stmt) { Stmt->domain = scoplib_matrix_list_malloc(); Stmt->domain->elt = domainToMatrix(domain); Stmt->domain->next = NULL; - isl_map *Scattering = stmt->getScattering; + isl_map *Scattering = stmt->getScattering(); Stmt->schedule = scatteringToMatrix(Scattering); isl_map_free(Scattering); isl_set_free(domain); @@ -175,9 +175,9 @@ void ScopLib::print(FILE *F) { int ScopLib::domainToMatrix_constraint(isl_constraint *c, void *user) { scoplib_matrix_p m = (scoplib_matrix_p) user; - int nb_params = isl_constraint_dim(c, isl_space_param); - int nb_vars = isl_constraint_dim(c, isl_space_set); - int nb_div = isl_constraint_dim(c, isl_space_div); + int nb_params = isl_constraint_dim(c, isl_dim_param); + int nb_vars = isl_constraint_dim(c, isl_dim_set); + int nb_div = isl_constraint_dim(c, isl_dim_div); assert(!nb_div && "Existentially quantified variables not yet supported"); @@ -194,13 +194,13 @@ int ScopLib::domainToMatrix_constraint(isl_constraint *c, void *user) { // Assign variables for (int i = 0; i < nb_vars; ++i) { - isl_constraint_get_coefficient(c, isl_space_set, i, &v); + isl_constraint_get_coefficient(c, isl_dim_set, i, &v); isl_int_set(vec->p[i + 1], v); } // Assign parameters for (int i = 0; i < nb_params; ++i) { - isl_constraint_get_coefficient(c, isl_space_param, i, &v); + isl_constraint_get_coefficient(c, isl_dim_param, i, &v); isl_int_set(vec->p[nb_vars + i + 1], v); } @@ -261,9 +261,9 @@ scoplib_matrix_p ScopLib::domainToMatrix(isl_set *PS) { int ScopLib::scatteringToMatrix_constraint(isl_constraint *c, void *user) { scoplib_matrix_p m = (scoplib_matrix_p) user; - int nb_params = isl_constraint_dim(c, isl_space_param); - int nb_in = isl_constraint_dim(c, isl_space_in); - int nb_div = isl_constraint_dim(c, isl_space_div); + int nb_params = isl_constraint_dim(c, isl_dim_param); + int nb_in = isl_constraint_dim(c, isl_dim_in); + int nb_div = isl_constraint_dim(c, isl_dim_div); assert(!nb_div && "Existentially quantified variables not yet supported"); @@ -281,13 +281,13 @@ int ScopLib::scatteringToMatrix_constraint(isl_constraint *c, void *user) { // Assign variables for (int i = 0; i < nb_in; ++i) { - isl_constraint_get_coefficient(c, isl_space_in, i, &v); + isl_constraint_get_coefficient(c, isl_dim_in, i, &v); isl_int_set(vec->p[i + 1], v); } // Assign parameters for (int i = 0; i < nb_params; ++i) { - isl_constraint_get_coefficient(c, isl_space_param, i, &v); + isl_constraint_get_coefficient(c, isl_dim_param, i, &v); isl_int_set(vec->p[nb_in + i + 1], v); } @@ -357,9 +357,9 @@ scoplib_matrix_p ScopLib::scatteringToMatrix(isl_map *pmap) { int ScopLib::accessToMatrix_constraint(isl_constraint *c, void *user) { scoplib_matrix_p m = (scoplib_matrix_p) user; - int nb_params = isl_constraint_dim(c, isl_space_param); - int nb_in = isl_constraint_dim(c, isl_space_in); - int nb_div = isl_constraint_dim(c, isl_space_div); + int nb_params = isl_constraint_dim(c, isl_dim_param); + int nb_in = isl_constraint_dim(c, isl_dim_in); + int nb_div = isl_constraint_dim(c, isl_dim_div); assert(!nb_div && "Existentially quantified variables not yet supported"); @@ -370,13 +370,13 @@ int ScopLib::accessToMatrix_constraint(isl_constraint *c, void *user) { isl_int_init(v); // The access dimension has to be one. - isl_constraint_get_coefficient(c, isl_space_out, 0, &v); + isl_constraint_get_coefficient(c, isl_dim_out, 0, &v); assert(isl_int_is_one(v)); bool inverse = true ; // Assign variables for (int i = 0; i < nb_in; ++i) { - isl_constraint_get_coefficient(c, isl_space_in, i, &v); + isl_constraint_get_coefficient(c, isl_dim_in, i, &v); if (inverse) isl_int_neg(v,v); @@ -385,7 +385,7 @@ int ScopLib::accessToMatrix_constraint(isl_constraint *c, void *user) { // Assign parameters for (int i = 0; i < nb_params; ++i) { - isl_constraint_get_coefficient(c, isl_space_param, i, &v); + isl_constraint_get_coefficient(c, isl_dim_param, i, &v); if (inverse) isl_int_neg(v,v); @@ -401,6 +401,8 @@ int ScopLib::accessToMatrix_constraint(isl_constraint *c, void *user) { scoplib_matrix_insert_vector(m, vec, m->NbRows); + isl_int_clear(v); + return 0; } @@ -435,7 +437,7 @@ scoplib_matrix_p ScopLib::createAccessMatrix(ScopStmt *S, bool isRead) { MI != ME; ++MI) if ((*MI)->isRead() == isRead) { // Extract the access function. - isl_map_foreach_basic_map((*MI)->getAccessFunction(), + isl_map_foreach_basic_map((*MI)->getAccessRelation(), &accessToMatrix_basic_map, m); // Set the index of the memory access base element. @@ -490,21 +492,21 @@ ScopLib::~ScopLib() { isl_constraint *constraintFromMatrixRow(isl_int *row, isl_space *Space) { isl_constraint *c; - unsigned NbIn = isl_space_size(Space, isl_dim_in); - unsigned NbParam = isl_space_size(Space, isl_dim_param); + unsigned NbIn = isl_space_dim(Space, isl_dim_in); + unsigned NbParam = isl_space_dim(Space, isl_dim_param); if (isl_int_is_zero(row[0])) - c = isl_equality_alloc(isl_space_copy(Space)); + c = isl_equality_alloc(isl_local_space_from_space(isl_space_copy(Space))); else - c = isl_inequality_alloc(isl_space_copy(Space)); + c = isl_inequality_alloc(isl_local_space_from_space(isl_space_copy(Space))); unsigned current_column = 1; for (unsigned j = 0; j < NbIn; ++j) - isl_constraint_set_coefficient(c, isl_space_in, j, row[current_column++]); + isl_constraint_set_coefficient(c, isl_dim_in, j, row[current_column++]); for (unsigned j = 0; j < NbParam; ++j) - isl_constraint_set_coefficient(c, isl_space_param, j, row[current_column++]); + isl_constraint_set_coefficient(c, isl_dim_param, j, row[current_column++]); isl_constraint_set_constant(c, row[current_column]); @@ -529,7 +531,7 @@ isl_map *mapFromMatrix(scoplib_matrix_p m, isl_space *Space, mpz_t minusOne; mpz_init(minusOne); mpz_set_si(minusOne, -1); - isl_constraint_set_coefficient(c, isl_space_out, i, minusOne); + isl_constraint_set_coefficient(c, isl_dim_out, i, minusOne); bmap = isl_basic_map_add_constraint(bmap, c); } @@ -537,12 +539,12 @@ isl_map *mapFromMatrix(scoplib_matrix_p m, isl_space *Space, for (unsigned i = m->NbRows; i < scatteringDims; i++) { isl_constraint *c; - c = isl_equality_alloc(isl_space_copy(Space)); + c = isl_equality_alloc(isl_local_space_from_space(isl_space_copy(Space))); mpz_t One; mpz_init(One); mpz_set_si(One, 1); - isl_constraint_set_coefficient(c, isl_space_out, i, One); + isl_constraint_set_coefficient(c, isl_dim_out, i, One); bmap = isl_basic_map_add_constraint(bmap, c); } @@ -558,25 +560,27 @@ isl_map *mapFromMatrix(scoplib_matrix_p m, isl_space *Space, isl_constraint *constraintFromMatrixRowFull(isl_int *row, isl_space *Space) { isl_constraint *c; - unsigned NbOut = isl_space_size(Space, isl_dim_out); - unsigned NbIn = isl_space_size(Space, isl_dim_in); - unsigned NbParam = isl_space_size(Space, isl_dim_param); + unsigned NbOut = isl_space_dim(Space, isl_dim_out); + unsigned NbIn = isl_space_dim(Space, isl_dim_in); + unsigned NbParam = isl_space_dim(Space, isl_dim_param); + + isl_local_space *LSpace = isl_local_space_from_space(Space); if (isl_int_is_zero(row[0])) - c = isl_equality_alloc(isl_space_copy(Space)); + c = isl_equality_alloc(LSpace); else - c = isl_inequality_alloc(isl_space_copy(Space)); + c = isl_inequality_alloc(LSpace); unsigned current_column = 1; for (unsigned j = 0; j < NbOut; ++j) - isl_constraint_set_coefficient(c, isl_space_out, j, row[current_column++]); + isl_constraint_set_coefficient(c, isl_dim_out, j, row[current_column++]); for (unsigned j = 0; j < NbIn; ++j) - isl_constraint_set_coefficient(c, isl_space_in, j, row[current_column++]); + isl_constraint_set_coefficient(c, isl_dim_in, j, row[current_column++]); for (unsigned j = 0; j < NbParam; ++j) - isl_constraint_set_coefficient(c, isl_space_param, j, row[current_column++]); + isl_constraint_set_coefficient(c, isl_dim_param, j, row[current_column++]); isl_constraint_set_constant(c, row[current_column]); @@ -620,7 +624,7 @@ isl_map *scatteringForStmt(scoplib_matrix_p m, ScopStmt *PollyStmt, else NbScattering = scatteringDims; - isl_ctx *ctx = PollyStmt->getParent()->getCtx(); + isl_ctx *ctx = PollyStmt->getParent()->getIslCtx(); isl_space *Space = isl_dim_alloc(ctx, NbParam, NbIterators, NbScattering); Space = isl_space_set_tuple_name(Space, isl_dim_out, "scattering"); Space = isl_space_set_tuple_name(Space, isl_dim_in, PollyStmt->getBaseName()); diff --git a/polly/lib/Pocc.cpp b/polly/lib/Pocc.cpp index c090f0d9081..0dab3fd397a 100644 --- a/polly/lib/Pocc.cpp +++ b/polly/lib/Pocc.cpp @@ -199,13 +199,15 @@ bool Pocc::runOnScop(Scop &S) { for (Scop::iterator SI = S.begin(), SE = S.end(); SI != SE; ++SI) { if ((*SI)->isFinalRead()) continue; + isl_map *scat = (*SI)->getScattering(); int scatDims = (*SI)->getNumScattering(); - isl_space *Space = isl_space_alloc(S.getCtx(), S.getNumParams(), scatDims, - scatDims + 1); + isl_space *Space = isl_space_alloc(S.getIslCtx(), S.getNumParams(), + scatDims, scatDims + 1); isl_basic_map *map = isl_basic_map_universe(isl_space_copy(Space)); + isl_local_space *LSpace = isl_local_space_from_space(Space); for (int i = 0; i <= lastLoop - 1; i++) { - isl_constraint *c = isl_equality_alloc(isl_space_copy(Space)); + isl_constraint *c = isl_equality_alloc(isl_local_space_copy(LSpace)); isl_constraint_set_coefficient_si(c, isl_dim_in, i, 1); isl_constraint_set_coefficient_si(c, isl_dim_out, i, -1); @@ -214,7 +216,7 @@ bool Pocc::runOnScop(Scop &S) { } for (int i = lastLoop; i < scatDims; i++) { - isl_constraint *c = isl_equality_alloc(isl_space_copy(Space)); + isl_constraint *c = isl_equality_alloc(isl_local_space_copy(LSpace)); isl_constraint_set_coefficient_si(c, isl_dim_in, i, 1); isl_constraint_set_coefficient_si(c, isl_dim_out, i + 1, -1); @@ -225,12 +227,12 @@ bool Pocc::runOnScop(Scop &S) { isl_constraint *c; int vectorWidth = 4; - c = isl_inequality_alloc(isl_space_copy(Space)); + c = isl_inequality_alloc(isl_local_space_copy(LSpace)); isl_constraint_set_coefficient_si(c, isl_dim_out, lastLoop, -vectorWidth); isl_constraint_set_coefficient_si(c, isl_dim_out, lastLoop + 1, 1); map = isl_basic_map_add_constraint(map, c); - c = isl_inequality_alloc(isl_space_copy(Space)); + c = isl_inequality_alloc(LSpace); isl_constraint_set_coefficient_si(c, isl_dim_out, lastLoop, vectorWidth); isl_constraint_set_coefficient_si(c, isl_dim_out, lastLoop + 1, -1); isl_constraint_set_constant_si(c, vectorWidth - 1); |

