summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-13 17:20:48 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-13 17:20:48 +0000
commit4d39727eaee3e7cb5c72dba469855cb538110782 (patch)
tree30127cb5baccb7f8d2d80f138a64589a68ea82b0 /include
parentba0e380ea9eaf051c45ce072f4cac7dccc867c90 (diff)
downloadllvm-4d39727eaee3e7cb5c72dba469855cb538110782.tar.gz
llvm-4d39727eaee3e7cb5c72dba469855cb538110782.tar.bz2
llvm-4d39727eaee3e7cb5c72dba469855cb538110782.tar.xz
Reduce usage of sys::Path in the graph writer.
Now PathV1.h is not needed in GraphWriter.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183919 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Support/GraphWriter.h39
1 files changed, 12 insertions, 27 deletions
diff --git a/include/llvm/Support/GraphWriter.h b/include/llvm/Support/GraphWriter.h
index 04daadf446..b021364019 100644
--- a/include/llvm/Support/GraphWriter.h
+++ b/include/llvm/Support/GraphWriter.h
@@ -26,7 +26,6 @@
#include "llvm/ADT/GraphTraits.h"
#include "llvm/Support/DOTGraphTraits.h"
#include "llvm/Support/Path.h"
-#include "llvm/Support/PathV1.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <vector>
@@ -51,13 +50,8 @@ namespace GraphProgram {
};
}
-void DisplayGraph(const sys::Path& Filename, bool wait=true, GraphProgram::Name program = GraphProgram::DOT);
-
-inline void DisplayGraph(StringRef Filename, bool wait = true,
- GraphProgram::Name program = GraphProgram::DOT) {
- sys::Path P(Filename);
- DisplayGraph(P, wait, program);
-}
+void DisplayGraph(StringRef Filename, bool wait = true,
+ GraphProgram::Name program = GraphProgram::DOT);
template<typename GraphType>
class GraphWriter {
@@ -325,22 +319,13 @@ raw_ostream &WriteGraph(raw_ostream &O, const GraphType &G,
return O;
}
-template<typename GraphType>
-sys::Path WriteGraph(const GraphType &G, const Twine &Name,
- bool ShortNames = false, const Twine &Title = "") {
- std::string ErrMsg;
- sys::Path Filename = sys::Path::GetTemporaryDirectory(&ErrMsg);
- if (Filename.isEmpty()) {
- errs() << "Error: " << ErrMsg << "\n";
- return Filename;
- }
- Filename.appendComponent((Name + ".dot").str());
- if (Filename.makeUnique(true,&ErrMsg)) {
- errs() << "Error: " << ErrMsg << "\n";
- return sys::Path();
- }
+std::string createGraphFilename(const Twine &Name);
- errs() << "Writing '" << Filename.str() << "'... ";
+template <typename GraphType>
+std::string WriteGraph(const GraphType &G, const Twine &Name,
+ bool ShortNames = false, const Twine &Title = "") {
+ std::string Filename = createGraphFilename(Name);
+ errs() << "Writing '" << Filename << "'... ";
std::string ErrorInfo;
raw_fd_ostream O(Filename.c_str(), ErrorInfo);
@@ -349,8 +334,8 @@ sys::Path WriteGraph(const GraphType &G, const Twine &Name,
llvm::WriteGraph(O, G, ShortNames, Title);
errs() << " done. \n";
} else {
- errs() << "error opening file '" << Filename.str() << "' for writing!\n";
- Filename.clear();
+ errs() << "error opening file '" << Filename << "' for writing!\n";
+ return "";
}
return Filename;
@@ -363,9 +348,9 @@ template<typename GraphType>
void ViewGraph(const GraphType &G, const Twine &Name,
bool ShortNames = false, const Twine &Title = "",
GraphProgram::Name Program = GraphProgram::DOT) {
- sys::Path Filename = llvm::WriteGraph(G, Name, ShortNames, Title);
+ std::string Filename = llvm::WriteGraph(G, Name, ShortNames, Title);
- if (Filename.isEmpty())
+ if (Filename.empty())
return;
DisplayGraph(Filename, true, Program);