diff options
Diffstat (limited to 'polly/lib/Analysis/ScopInfo.cpp')
| -rw-r--r-- | polly/lib/Analysis/ScopInfo.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp index 30cfd5300ce..39318e0fb8b 100644 --- a/polly/lib/Analysis/ScopInfo.cpp +++ b/polly/lib/Analysis/ScopInfo.cpp @@ -938,6 +938,21 @@ void Scop::dump() const { print(dbgs()); } 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) { |

