summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/lib/Analysis/Dependences.cpp35
1 files changed, 7 insertions, 28 deletions
diff --git a/polly/lib/Analysis/Dependences.cpp b/polly/lib/Analysis/Dependences.cpp
index 1a60f7d876c..1ec243092e0 100644
--- a/polly/lib/Analysis/Dependences.cpp
+++ b/polly/lib/Analysis/Dependences.cpp
@@ -304,42 +304,21 @@ bool Dependences::isParallelDimension(isl_set *loopDomain,
isl_space *Space = isl_space_set_alloc(S->getIslCtx(), 0, parallelDimension);
// [0, 0, 0, 0] - All zero
- isl_basic_set *allZeroBS = isl_basic_set_universe(isl_space_copy(Space));
+ isl_set *allZero = isl_set_universe(isl_space_copy(Space));
unsigned dimensions = isl_space_dim(Space, isl_dim_set);
- isl_local_space *LocalSpace;
- LocalSpace = isl_local_space_from_space(isl_space_copy(Space));
-
- for (unsigned i = 0; i < dimensions; i++) {
- isl_constraint *c = isl_equality_alloc(isl_local_space_copy(LocalSpace));
- isl_int v;
- isl_int_init(v);
- isl_int_set_si(v, -1);
- isl_constraint_set_coefficient(c, isl_dim_set, i, v);
- allZeroBS = isl_basic_set_add_constraint(allZeroBS, c);
- isl_int_clear(v);
- }
- isl_set *allZero = isl_set_from_basic_set(allZeroBS);
+ for (unsigned i = 0; i < dimensions; i++)
+ allZero = isl_set_fix_si(allZero, isl_dim_set, i, 0);
+
allZero = isl_set_align_params(allZero, S->getParamSpace());
// All zero, last unknown.
// [0, 0, 0, ?]
- isl_basic_set *lastUnknownBS = isl_basic_set_universe(isl_space_copy(Space));
- dimensions = isl_space_dim(Space, isl_dim_set);
-
- for (unsigned i = 0; i < dimensions - 1; i++) {
- isl_constraint *c = isl_equality_alloc(isl_local_space_copy(LocalSpace));
- isl_int v;
- isl_int_init(v);
- isl_int_set_si(v, -1);
- isl_constraint_set_coefficient(c, isl_dim_set, i, v);
- lastUnknownBS = isl_basic_set_add_constraint(lastUnknownBS, c);
- isl_int_clear(v);
- }
+ isl_set *lastUnknown = isl_set_universe(isl_space_copy(Space));
- isl_local_space_free(LocalSpace);
+ for (unsigned i = 0; i < dimensions - 1; i++)
+ lastUnknown = isl_set_fix_si(lastUnknown, isl_dim_set, i, 0);
- isl_set *lastUnknown = isl_set_from_basic_set(lastUnknownBS);
lastUnknown = isl_set_align_params(lastUnknown, S->getParamSpace());
// Valid distance vectors
OpenPOWER on IntegriCloud