[polly] r183969 - PoCC: Adjust to recent sys::Path removal

Tobias Grosser grosser at fim.uni-passau.de
Thu Jun 13 23:26:33 PDT 2013


Author: grosser
Date: Fri Jun 14 01:26:33 2013
New Revision: 183969

URL: http://llvm.org/viewvc/llvm-project?rev=183969&view=rev
Log:
PoCC: Adjust to recent sys::Path removal

Modified:
    polly/trunk/lib/Pocc.cpp

Modified: polly/trunk/lib/Pocc.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Pocc.cpp?rev=183969&r1=183968&r2=183969&view=diff
==============================================================================
--- polly/trunk/lib/Pocc.cpp (original)
+++ polly/trunk/lib/Pocc.cpp Fri Jun 14 01:26:33 2013
@@ -32,6 +32,7 @@
 #include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/system_error.h"
 #include "llvm/ADT/OwningPtr.h"
+#include "llvm/ADT/SmallString.h"
 
 #include "polly/ScopLib.h"
 
@@ -50,8 +51,8 @@ static cl::opt<std::string> PlutoFuse("p
 namespace {
 
 class Pocc : public ScopPass {
-  sys::Path plutoStderr;
-  sys::Path plutoStdout;
+  SmallString<128> PlutoStderr;
+  SmallString<128> PlutoStdout;
   std::vector<const char *> arguments;
 
 public:
@@ -74,17 +75,18 @@ bool Pocc::runTransform(Scop &S) {
   Dependences *D = &getAnalysis<Dependences>();
 
   // Create the scop file.
-  sys::Path tempDir = sys::Path::GetTemporaryDirectory();
-  sys::Path scopFile = tempDir;
-  scopFile.appendComponent("polly.scop");
-  scopFile.createFileOnDisk();
+  SmallString<128> TempDir;
+  SmallString<128> ScopFile;
+  llvm::sys::path::system_temp_directory(/*erasedOnReboot=*/ true, TempDir);
+  ScopFile = TempDir;
+  llvm::sys::path::append(ScopFile, "polly.scop");
 
-  FILE *F = fopen(scopFile.c_str(), "w");
+  FILE *F = fopen(ScopFile.c_str(), "w");
 
   arguments.clear();
 
   if (!F) {
-    errs() << "Cannot open file: " << tempDir.c_str() << "\n";
+    errs() << "Cannot open file: " << TempDir.c_str() << "\n";
     errs() << "Skipping export.\n";
     return false;
   }
@@ -94,11 +96,11 @@ bool Pocc::runTransform(Scop &S) {
   fclose(F);
 
   // Execute pocc
-  sys::Path pocc = sys::Program::FindProgramByName("pocc");
+  std::string pocc = sys::FindProgramByName("pocc");
 
   arguments.push_back("pocc");
   arguments.push_back("--read-scop");
-  arguments.push_back(scopFile.c_str());
+  arguments.push_back(ScopFile.c_str());
   arguments.push_back("--pluto-tile-scat");
   arguments.push_back("--candl-dep-isl-simp");
   arguments.push_back("--cloogify-scheds");
@@ -118,24 +120,25 @@ bool Pocc::runTransform(Scop &S) {
 
   arguments.push_back(0);
 
-  plutoStdout = tempDir;
-  plutoStdout.appendComponent("pluto.stdout");
-  plutoStderr = tempDir;
-  plutoStderr.appendComponent("pluto.stderr");
-
-  std::vector<sys::Path *> redirect;
-  redirect.push_back(0);
-  redirect.push_back(&plutoStdout);
-  redirect.push_back(&plutoStderr);
+  PlutoStdout = TempDir;
+  llvm::sys::path::append(PlutoStdout, "pluto.stdout");
+  PlutoStderr = TempDir;
+  llvm::sys::path::append(PlutoStderr, "pluto.stderr");
+
+  std::vector<llvm::StringRef> Redirect;
+  Redirect.push_back(0);
+  Redirect.push_back(PlutoStdout.c_str());
+  Redirect.push_back(PlutoStderr.c_str());
 
-  sys::Program::ExecuteAndWait(pocc, &arguments[0], 0,
-                         (sys::Path const **)&redirect[0]);
+  sys::ExecuteAndWait(pocc, &arguments[0], 0,
+                      (const llvm::StringRef **)&Redirect[0]);
 
   // Read the created scop file
-  sys::Path newScopFile = tempDir;
-  newScopFile.appendComponent("polly.pocc.c.scop");
+  SmallString<128> NewScopFile;
+  NewScopFile = TempDir;
+  llvm::sys::path::append(NewScopFile, "polly.pocc.c.scop");
 
-  FILE *poccFile = fopen(newScopFile.c_str(), "r");
+  FILE *poccFile = fopen(NewScopFile.c_str(), "r");
   ScopLib newScoplib(&S, poccFile, D);
 
   if (!newScoplib.updateScattering()) {
@@ -251,17 +254,17 @@ void Pocc::printScop(raw_ostream &OS) co
 
   OS << "\n";
 
-  if (error_code ec = MemoryBuffer::getFile(plutoStdout.c_str(), stdoutBuffer))
+  if (error_code ec = MemoryBuffer::getFile(PlutoStdout, stdoutBuffer))
     OS << "Could not open pocc stdout file: " + ec.message() << "\n";
   else {
     OS << "pocc stdout: " << stdoutBuffer->getBufferIdentifier() << "\n";
     OS << stdoutBuffer->getBuffer() << "\n";
   }
 
-  if (error_code ec = MemoryBuffer::getFile(plutoStderr.c_str(), stderrBuffer))
+  if (error_code ec = MemoryBuffer::getFile(PlutoStderr, stderrBuffer))
     OS << "Could not open pocc stderr file: " + ec.message() << "\n";
   else {
-    OS << "pocc stderr: " << plutoStderr.c_str() << "\n";
+    OS << "pocc stderr: " << PlutoStderr << "\n";
     OS << stderrBuffer->getBuffer() << "\n";
   }
 }





More information about the llvm-commits mailing list