summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 199f92bafdf..1e4b582cb95 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -1584,13 +1584,14 @@ void Scop::buildDomainsWithBranchConstraints(Region *R, LoopInfo &LI,
// and enter a new one we need to drop the old constraints.
int SuccBBLoopDepth = getRelativeLoopDepth(SuccBBLoop);
assert(std::abs(BBLoopDepth - SuccBBLoopDepth) <= 1);
- if (BBLoopDepth > SuccBBLoopDepth)
- CondSet = isl_set_remove_dims(CondSet, isl_dim_set, BBLoopDepth, 1);
- else if (SuccBBLoopDepth > BBLoopDepth)
+ if (BBLoopDepth > SuccBBLoopDepth) {
+ CondSet = isl_set_project_out(CondSet, isl_dim_set, BBLoopDepth, 1);
+ } else if (SuccBBLoopDepth > BBLoopDepth) {
CondSet = isl_set_add_dims(CondSet, isl_dim_set, 1);
- else if (BBLoopDepth >= 0)
- CondSet = isl_set_drop_constraints_involving_dims(
- CondSet, isl_dim_set, BBLoopDepth, 1);
+ } else if (BBLoopDepth >= 0) {
+ CondSet = isl_set_project_out(CondSet, isl_dim_set, BBLoopDepth, 1);
+ CondSet = isl_set_add_dims(CondSet, isl_dim_set, 1);
+ }
}
// Set the domain for the successor or merge it with an existing domain in
OpenPOWER on IntegriCloud