[llvm-commits] [polly] r150482 - in /polly/trunk: include/polly/ScopInfo.h lib/Analysis/ScopInfo.cpp lib/ScheduleOptimizer.cpp
Tobias Grosser
grosser at fim.uni-passau.de
Tue Feb 14 06:02:40 PST 2012
Author: grosser
Date: Tue Feb 14 08:02:40 2012
New Revision: 150482
URL: http://llvm.org/viewvc/llvm-project?rev=150482&view=rev
Log:
ScopInfo: Add Scop::getDomains()
Modified:
polly/trunk/include/polly/ScopInfo.h
polly/trunk/lib/Analysis/ScopInfo.cpp
polly/trunk/lib/ScheduleOptimizer.cpp
Modified: polly/trunk/include/polly/ScopInfo.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/include/polly/ScopInfo.h?rev=150482&r1=150481&r2=150482&view=diff
==============================================================================
--- polly/trunk/include/polly/ScopInfo.h (original)
+++ polly/trunk/include/polly/ScopInfo.h Tue Feb 14 08:02:40 2012
@@ -43,6 +43,7 @@
struct isl_basic_map;
struct isl_id;
struct isl_set;
+struct isl_union_set;
struct isl_space;
struct isl_constraint;
@@ -572,6 +573,9 @@
///
/// @return The isl context of this static control part.
isl_ctx *getIslCtx() const;
+
+ /// @brief Get a union set containing the iteration domains of all statements.
+ __isl_give isl_union_set *getDomains();
};
/// @brief Print Scop scop to raw_ostream O.
Modified: polly/trunk/lib/Analysis/ScopInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopInfo.cpp?rev=150482&r1=150481&r2=150482&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopInfo.cpp (original)
+++ polly/trunk/lib/Analysis/ScopInfo.cpp Tue Feb 14 08:02:40 2012
@@ -938,6 +938,21 @@
isl_ctx *Scop::getIslCtx() const { return IslCtx; }
+__isl_give isl_union_set *Scop::getDomains() {
+ isl_union_set *Domain = NULL;
+
+ for (Scop::iterator SI = begin(), SE = end(); SI != SE; ++SI)
+ if ((*SI)->isFinalRead())
+ continue;
+ else if (!Domain)
+ Domain = isl_union_set_from_set((*SI)->getDomain());
+ else
+ Domain = isl_union_set_union(Domain,
+ isl_union_set_from_set((*SI)->getDomain()));
+
+ return Domain;
+}
+
ScalarEvolution *Scop::getSE() const { return SE; }
bool Scop::isTrivialBB(BasicBlock *BB, TempScop &tempScop) {
Modified: polly/trunk/lib/ScheduleOptimizer.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/ScheduleOptimizer.cpp?rev=150482&r1=150481&r2=150482&view=diff
==============================================================================
--- polly/trunk/lib/ScheduleOptimizer.cpp (original)
+++ polly/trunk/lib/ScheduleOptimizer.cpp Tue Feb 14 08:02:40 2012
@@ -423,16 +423,7 @@
| Dependences::TYPE_WAW;
isl_union_map *Dependences = D->getDependences(DependencyKinds);
- isl_union_set *Domain = NULL;
-
- for (Scop::iterator SI = S.begin(), SE = S.end(); SI != SE; ++SI)
- if ((*SI)->isFinalRead())
- continue;
- else if (!Domain)
- Domain = isl_union_set_from_set((*SI)->getDomain());
- else
- Domain = isl_union_set_union(Domain,
- isl_union_set_from_set((*SI)->getDomain()));
+ isl_union_set *Domain = S.getDomains();
if (!Domain)
return false;
More information about the llvm-commits
mailing list