diff options
author | Tobias Grosser <grosser@fim.uni-passau.de> | 2012-03-08 15:21:51 +0000 |
---|---|---|
committer | Tobias Grosser <grosser@fim.uni-passau.de> | 2012-03-08 15:21:51 +0000 |
commit | 3cbe5cfff30688f0da694462baf7263b5b9625e8 (patch) | |
tree | 5bbf7f941ffc1e74ac180a45dde7dc9a9aed6bda /polly/lib/Exchange | |
parent | 45ed487a9cdf6ef80a3489de6ac566485add529b (diff) | |
download | bcm5719-llvm-3cbe5cfff30688f0da694462baf7263b5b9625e8.tar.gz bcm5719-llvm-3cbe5cfff30688f0da694462baf7263b5b9625e8.zip |
Remove FinalRead
The FinalRead statement represented a virtual read that is executed after the
SCoP. It was used when we verified the correctness of a schedule by checking if
it yields the same FLOW dependences as the original code. This is only works, if
we have a final read that reads all memory at the end of the SCoP.
We now switched to just checking if a schedule does not introduce negative
dependences and also consider WAW WAR dependences. This restricts the schedules
a little bit more, but we do not have any optimizer that would calculate a more
complex schedule. Hence, for now final reads are obsolete.
llvm-svn: 152319
Diffstat (limited to 'polly/lib/Exchange')
-rwxr-xr-x | polly/lib/Exchange/JSONExporter.cpp | 11 | ||||
-rwxr-xr-x | polly/lib/Exchange/OpenScopExporter.cpp | 2 | ||||
-rwxr-xr-x | polly/lib/Exchange/OpenScopImporter.cpp | 4 | ||||
-rw-r--r-- | polly/lib/Exchange/ScopLib.cpp | 8 |
4 files changed, 0 insertions, 25 deletions
diff --git a/polly/lib/Exchange/JSONExporter.cpp b/polly/lib/Exchange/JSONExporter.cpp index d9c569b45df..0113e88cd8d 100755 --- a/polly/lib/Exchange/JSONExporter.cpp +++ b/polly/lib/Exchange/JSONExporter.cpp @@ -102,9 +102,6 @@ Json::Value JSONExporter::getJSON(Scop &scop) const { for (Scop::iterator SI = S->begin(), SE = S->end(); SI != SE; ++SI) { ScopStmt *Stmt = *SI; - if (Stmt->isFinalRead()) - continue; - Json::Value statement; statement["name"] = Stmt->getBaseName(); @@ -246,12 +243,7 @@ bool JSONImporter::runOnScop(Scop &scop) { int index = 0; for (Scop::iterator SI = S->begin(), SE = S->end(); SI != SE; ++SI) { - ScopStmt *Stmt = *SI; - - if (Stmt->isFinalRead()) - continue; Json::Value schedule = jscop["statements"][index]["schedule"]; - isl_map *m = isl_map_read_from_str(S->getIslCtx(), schedule.asCString()); NewScattering[*SI] = m; index++; @@ -274,9 +266,6 @@ bool JSONImporter::runOnScop(Scop &scop) { for (Scop::iterator SI = S->begin(), SE = S->end(); SI != SE; ++SI) { ScopStmt *Stmt = *SI; - if (Stmt->isFinalRead()) - continue; - int memoryAccessIdx = 0; for (ScopStmt::memacc_iterator MI = Stmt->memacc_begin(), ME = Stmt->memacc_end(); MI != ME; ++MI) { diff --git a/polly/lib/Exchange/OpenScopExporter.cpp b/polly/lib/Exchange/OpenScopExporter.cpp index 7f1af1d0861..39b4a2aa44a 100755 --- a/polly/lib/Exchange/OpenScopExporter.cpp +++ b/polly/lib/Exchange/OpenScopExporter.cpp @@ -176,8 +176,6 @@ openscop_statement_p OpenScop::initializeStatement(ScopStmt *stmt) { void OpenScop::initializeStatements() { for (Scop::reverse_iterator SI = PollyScop->rbegin(), SE = PollyScop->rend(); SI != SE; ++SI) { - if ((*SI)->isFinalRead()) - continue; openscop_statement_p stmt = initializeStatement(*SI); stmt->next = openscop->statement; openscop->statement = stmt; diff --git a/polly/lib/Exchange/OpenScopImporter.cpp b/polly/lib/Exchange/OpenScopImporter.cpp index db11a5608a9..c04cb8dc91d 100755 --- a/polly/lib/Exchange/OpenScopImporter.cpp +++ b/polly/lib/Exchange/OpenScopImporter.cpp @@ -148,10 +148,6 @@ StatementToIslMapTy *readScattering(Scop *S, openscop_scop_p OScop) { openscop_statement_p stmt = OScop->statement; for (Scop::iterator SI = S->begin(), SE = S->end(); SI != SE; ++SI) { - - if ((*SI)->isFinalRead()) - continue; - if (!stmt) { errs() << "Not enough statements available in OpenScop file\n"; delete &NewScattering; diff --git a/polly/lib/Exchange/ScopLib.cpp b/polly/lib/Exchange/ScopLib.cpp index dc183cf0655..d58f0741f64 100644 --- a/polly/lib/Exchange/ScopLib.cpp +++ b/polly/lib/Exchange/ScopLib.cpp @@ -120,10 +120,6 @@ scoplib_statement_p ScopLib::initializeStatement(ScopStmt *stmt) { void ScopLib::initializeStatements() { for (Scop::reverse_iterator SI = PollyScop->rbegin(), SE = PollyScop->rend(); SI != SE; ++SI) { - - if ((*SI)->isFinalRead()) - continue; - scoplib_statement_p stmt = initializeStatement(*SI); stmt->next = scoplib->statement; scoplib->statement = stmt; @@ -706,10 +702,6 @@ StatementToIslMapTy *readScattering(Scop *S, scoplib_scop_p OScop) { } for (Scop::iterator SI = S->begin(), SE = S->end(); SI != SE; ++SI) { - - if ((*SI)->isFinalRead()) - continue; - if (!stmt) { errs() << "Not enough statements available in OpenScop file\n"; freeStmtToIslMap(&NewScattering); |