[ScopInfo] Avoid use of getStmtFor(BB). NFC.
Since there will be no more a 1:1 correspondence between statements and
basic blocks, we would like to get rid of the method getStmtFor(BB)
and its uses. Here we remove one of its uses in ScopInfo by fetching
the statement in which the call instruction lies.
Contributed-by: Nandini Singhal <cs15mtech01004@iith.ac.in>
Differential Revision: https://reviews.llvm.org/D35691
llvm-svn: 309110
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 7eff057..0d6573e 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -2263,10 +2263,11 @@
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)