[polly] r282853 - [CodeGen] Add assertion for partial scalar accesses. NFC.

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 30 07:01:47 PDT 2016


Author: meinersbur
Date: Fri Sep 30 09:01:46 2016
New Revision: 282853

URL: http://llvm.org/viewvc/llvm-project?rev=282853&view=rev
Log:
[CodeGen] Add assertion for partial scalar accesses. NFC.

The code generator always adds unconditional LoadInst and StoreInst, hence the
MemoryAccess must be defined over all statement instances.

Modified:
    polly/trunk/lib/CodeGen/BlockGenerators.cpp

Modified: polly/trunk/lib/CodeGen/BlockGenerators.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/BlockGenerators.cpp?rev=282853&r1=282852&r2=282853&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/BlockGenerators.cpp (original)
+++ polly/trunk/lib/CodeGen/BlockGenerators.cpp Fri Sep 30 09:01:46 2016
@@ -452,6 +452,15 @@ void BlockGenerator::generateScalarLoads
     if (MA->isOriginalArrayKind() || MA->isWrite())
       continue;
 
+#ifndef NDEBUG
+    auto *StmtDom = Stmt.getDomain();
+    auto *AccDom = isl_map_domain(MA->getAccessRelation());
+    assert(isl_set_is_subset(StmtDom, AccDom) &&
+           "Scalar must be loaded in all statement instances");
+    isl_set_free(StmtDom);
+    isl_set_free(AccDom);
+#endif
+
     auto *Address =
         getImplicitAddress(*MA, getLoopForStmt(Stmt), LTS, BBMap, NewAccesses);
     assert((!isa<Instruction>(Address) ||
@@ -476,6 +485,15 @@ void BlockGenerator::generateScalarStore
     if (MA->isOriginalArrayKind() || MA->isRead())
       continue;
 
+#ifndef NDEBUG
+    auto *StmtDom = Stmt.getDomain();
+    auto *AccDom = isl_map_domain(MA->getAccessRelation());
+    assert(isl_set_is_subset(StmtDom, AccDom) &&
+           "Scalar must be stored in all statement instances");
+    isl_set_free(StmtDom);
+    isl_set_free(AccDom);
+#endif
+
     Value *Val = MA->getAccessValue();
     if (MA->isAnyPHIKind()) {
       assert(MA->getIncoming().size() >= 1 &&




More information about the llvm-commits mailing list