[PATCH] D35679: [Polly] Get a list of statements for a Region Node. [NFC]
Michael Kruse via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 20 10:22:43 PDT 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL308635: [ScopInfo] Get a list of statements for a region node. NFC. (authored by Meinersbur).
Changed prior to commit:
https://reviews.llvm.org/D35679?vs=107489&id=107543#toc
Repository:
rL LLVM
https://reviews.llvm.org/D35679
Files:
polly/trunk/include/polly/ScopInfo.h
polly/trunk/lib/Analysis/ScopInfo.cpp
Index: polly/trunk/include/polly/ScopInfo.h
===================================================================
--- polly/trunk/include/polly/ScopInfo.h
+++ polly/trunk/include/polly/ScopInfo.h
@@ -2678,14 +2678,14 @@
/// to be executed last, only that the incoming value is available in it.
ScopStmt *getLastStmtFor(BasicBlock *BB) const;
- /// Return the ScopStmt that represents the Region @p R, or nullptr if
+ /// Return the ScopStmts that represents the Region @p R, or nullptr if
/// it is not represented by any statement in this Scop.
- ScopStmt *getStmtFor(Region *R) const;
+ ArrayRef<ScopStmt *> getStmtListFor(Region *R) const;
- /// Return the ScopStmt that represents @p RN; can return nullptr if
+ /// Return the ScopStmts that represents @p RN; can return nullptr if
/// the RegionNode is not within the SCoP or has been removed due to
/// simplifications.
- ScopStmt *getStmtFor(RegionNode *RN) const;
+ ArrayRef<ScopStmt *> getStmtListFor(RegionNode *RN) const;
/// Return the ScopStmt an instruction belongs to, or nullptr if it
/// does not belong to any statement in this Scop.
Index: polly/trunk/lib/Analysis/ScopInfo.cpp
===================================================================
--- polly/trunk/lib/Analysis/ScopInfo.cpp
+++ polly/trunk/lib/Analysis/ScopInfo.cpp
@@ -4935,7 +4935,7 @@
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 @@
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 {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35679.107543.patch
Type: text/x-patch
Size: 2492 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170720/bc52f2a9/attachment.bin>
More information about the llvm-commits
mailing list