summaryrefslogtreecommitdiffstats
path: root/polly/lib/Analysis
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/Analysis')
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 49f29613654..a1643f8b01a 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -4935,7 +4935,7 @@ void Scop::buildSchedule(RegionNode *RN, LoopStackTy &LoopStack, LoopInfo &LI) {
auto &LoopData = LoopStack.back();
LoopData.NumBlocksProcessed += getNumBlocksInRegionNode(RN);
- if (auto *Stmt = getStmtFor(RN)) {
+ for (auto *Stmt : getStmtListFor(RN)) {
auto *UDomain = isl_union_set_from_set(Stmt->getDomain());
auto *StmtSchedule = isl_schedule_from_domain(UDomain);
LoopData.Schedule = combineInSequence(LoopData.Schedule, StmtSchedule);
@@ -4995,16 +4995,14 @@ ScopStmt *Scop::getLastStmtFor(BasicBlock *BB) const {
return nullptr;
}
-ScopStmt *Scop::getStmtFor(RegionNode *RN) const {
+ArrayRef<ScopStmt *> Scop::getStmtListFor(RegionNode *RN) const {
if (RN->isSubRegion())
- return getStmtFor(RN->getNodeAs<Region>());
- return getStmtFor(RN->getNodeAs<BasicBlock>());
+ return getStmtListFor(RN->getNodeAs<Region>());
+ return getStmtListFor(RN->getNodeAs<BasicBlock>());
}
-ScopStmt *Scop::getStmtFor(Region *R) const {
- ScopStmt *Stmt = getStmtFor(R->getEntry());
- assert(!Stmt || Stmt->getRegion() == R);
- return Stmt;
+ArrayRef<ScopStmt *> Scop::getStmtListFor(Region *R) const {
+ return getStmtListFor(R->getEntry());
}
int Scop::getRelativeLoopDepth(const Loop *L) const {
OpenPOWER on IntegriCloud