diff options
-rw-r--r-- | polly/lib/Analysis/ScopInfo.cpp | 13 |
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 |