summaryrefslogtreecommitdiffstats
path: root/polly/lib/Exchange
diff options
context:
space:
mode:
authorTobias Grosser <grosser@fim.uni-passau.de>2012-03-08 15:21:51 +0000
committerTobias Grosser <grosser@fim.uni-passau.de>2012-03-08 15:21:51 +0000
commit3cbe5cfff30688f0da694462baf7263b5b9625e8 (patch)
tree5bbf7f941ffc1e74ac180a45dde7dc9a9aed6bda /polly/lib/Exchange
parent45ed487a9cdf6ef80a3489de6ac566485add529b (diff)
downloadbcm5719-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-xpolly/lib/Exchange/JSONExporter.cpp11
-rwxr-xr-xpolly/lib/Exchange/OpenScopExporter.cpp2
-rwxr-xr-xpolly/lib/Exchange/OpenScopImporter.cpp4
-rw-r--r--polly/lib/Exchange/ScopLib.cpp8
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);
OpenPOWER on IntegriCloud