[polly] r286047 - ScopInfo: Ensure copy statement memory accesses are correct

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 5 14:02:44 PDT 2016


Author: grosser
Date: Sat Nov  5 16:02:43 2016
New Revision: 286047

URL: http://llvm.org/viewvc/llvm-project?rev=286047&view=rev
Log:
ScopInfo: Ensure copy statement memory accesses are correct

Add asserts that verify that the memory accesses of a new copy statement
are defined for all domain instances the copy statement is defined for.

Modified:
    polly/trunk/lib/Analysis/ScopInfo.cpp

Modified: polly/trunk/lib/Analysis/ScopInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopInfo.cpp?rev=286047&r1=286046&r2=286047&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopInfo.cpp (original)
+++ polly/trunk/lib/Analysis/ScopInfo.cpp Sat Nov  5 16:02:43 2016
@@ -4153,6 +4153,14 @@ void Scop::addScopStmt(BasicBlock *BB, R
 ScopStmt *Scop::addScopStmt(__isl_take isl_map *SourceRel,
                             __isl_take isl_map *TargetRel,
                             __isl_take isl_set *Domain) {
+  isl_set *SourceDomain = isl_map_domain(isl_map_copy(SourceRel));
+  isl_set *TargetDomain = isl_map_domain(isl_map_copy(TargetRel));
+  assert(isl_set_is_subset(Domain, TargetDomain) &&
+         "Target access not defined for complete statement domain");
+  assert(isl_set_is_subset(Domain, SourceDomain) &&
+         "Source access not defined for complete statement domain");
+  isl_set_free(SourceDomain);
+  isl_set_free(TargetDomain);
   Stmts.emplace_back(*this, SourceRel, TargetRel, Domain);
   CopyStmtsNum++;
   return &(Stmts.back());




More information about the llvm-commits mailing list