summaryrefslogtreecommitdiffstats
path: root/polly/lib/Analysis/ScopInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/Analysis/ScopInfo.cpp')
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 7eff057d6bf..0d6573ea499 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -2263,10 +2263,11 @@ void Scop::addUserAssumptions(
SmallVector<isl_set *, 2> ConditionSets;
auto *TI = InScop ? CI->getParent()->getTerminator() : nullptr;
- auto &Stmt = InScop ? *getStmtFor(CI->getParent()) : *Stmts.begin();
- auto *Dom = InScop ? getDomainConditions(&Stmt) : isl_set_copy(Context);
- bool Valid = buildConditionSets(*this, Stmt.getEntryBlock(), Val, TI, L,
- Dom, InvalidDomainMap, ConditionSets);
+ BasicBlock *BB = InScop ? CI->getParent() : getRegion().getEntry();
+ auto *Dom = InScop ? DomainMap[BB].copy() : isl_set_copy(Context);
+ assert(Dom && "Cannot propagate a nullptr.");
+ bool Valid = buildConditionSets(*this, BB, Val, TI, L, Dom,
+ InvalidDomainMap, ConditionSets);
isl_set_free(Dom);
if (!Valid)
OpenPOWER on IntegriCloud