[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