ScopInfo: Simplify some isl code

llvm-svn: 149503
This commit is contained in:
Tobias Grosser 2012-02-01 14:23:36 +00:00
parent 5772e65be0
commit c327932cf5
1 changed files with 8 additions and 20 deletions

View File

@ -383,35 +383,23 @@ void MemoryAccess::dump() const {
// : i0 = o0, i1 = o1, ..., i(X-1) = o(X-1), iX < oX
//
static isl_map *getEqualAndLarger(isl_space *setDomain) {
isl_space *mapDomain = isl_space_map_from_set(setDomain);
isl_basic_map *bmap = isl_basic_map_universe(isl_space_copy(mapDomain));
isl_local_space *MapLocalSpace = isl_local_space_from_space(mapDomain);
isl_space *Space = isl_space_map_from_set(setDomain);
isl_map *Map = isl_map_universe(isl_space_copy(Space));
isl_local_space *MapLocalSpace = isl_local_space_from_space(Space);
// Set all but the last dimension to be equal for the input and output
//
// input[i0, i1, ..., iX] -> output[o0, o1, ..., oX]
// : i0 = o0, i1 = o1, ..., i(X-1) = o(X-1)
for (unsigned i = 0; i < isl_basic_map_n_in(bmap) - 1; ++i) {
isl_int v;
isl_int_init(v);
isl_constraint *c = isl_equality_alloc(isl_local_space_copy(MapLocalSpace));
isl_int_set_si(v, 1);
isl_constraint_set_coefficient(c, isl_dim_in, i, v);
isl_int_set_si(v, -1);
isl_constraint_set_coefficient(c, isl_dim_out, i, v);
bmap = isl_basic_map_add_constraint(bmap, c);
isl_int_clear(v);
}
for (unsigned i = 0; i < isl_map_dim(Map, isl_dim_in) - 1; ++i)
Map = isl_map_equate(Map, isl_dim_in, i, isl_dim_out, i);
// Set the last dimension of the input to be strict smaller than the
// last dimension of the output.
//
// input[?,?,?,...,iX] -> output[?,?,?,...,oX] : iX < oX
//
unsigned lastDimension = isl_basic_map_n_in(bmap) - 1;
unsigned lastDimension = isl_map_dim(Map, isl_dim_in) - 1;
isl_int v;
isl_int_init(v);
isl_constraint *c = isl_inequality_alloc(isl_local_space_copy(MapLocalSpace));
@ -423,10 +411,10 @@ static isl_map *getEqualAndLarger(isl_space *setDomain) {
isl_constraint_set_constant(c, v);
isl_int_clear(v);
bmap = isl_basic_map_add_constraint(bmap, c);
Map = isl_map_add_constraint(Map, c);
isl_local_space_free(MapLocalSpace);
return isl_map_from_basic_map(bmap);
return Map;
}
isl_set *MemoryAccess::getStride(__isl_take const isl_set *domainSubset) const {