diff options
author | Chris Lattner <sabre@nondot.org> | 2005-11-19 07:44:09 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-11-19 07:44:09 +0000 |
commit | 3aa2c74e192124244d22aaef857980e16fab49ea (patch) | |
tree | 6c91e1f9589b268e4338956eef07a4d3074c6c66 /lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | |
parent | 65303d6bd777b76735ef179870678a1d14671c54 (diff) |
Improve Selection DAG printer portability. Patch by Owen Anderson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24425 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index 7353580933..1782587c3e 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp @@ -18,6 +18,7 @@ #include "llvm/Target/MRegisterInfo.h" #include "llvm/Target/TargetMachine.h" #include "llvm/Support/GraphWriter.h" +#include "llvm/System/Path.h" #include "llvm/ADT/StringExtras.h" #include "llvm/Config/config.h" #include <fstream> @@ -108,7 +109,8 @@ std::string DOTGraphTraits<SelectionDAG*>::getNodeLabel(const SDNode *Node, void SelectionDAG::viewGraph() { // This code is only for debugging! #ifndef NDEBUG - std::string Filename = "/tmp/dag." + + std::string TempDir = sys::Path::GetTemporaryDirectory().toString(); + std::string Filename = TempDir + "dag." + getMachineFunction().getFunction()->getName() + ".dot"; std::cerr << "Writing '" << Filename << "'... "; std::ofstream F(Filename.c_str()); @@ -135,13 +137,13 @@ void SelectionDAG::viewGraph() { #ifdef HAVE_GV std::cerr << "Running 'dot' program... " << std::flush; if (system(("dot -Tps -Nfontname=Courier -Gsize=7.5,10 " + Filename - + " > /tmp/dag.tempgraph.ps").c_str())) { + + " > " + TempDir +"dag.tempgraph.ps").c_str())) { std::cerr << "Error viewing graph: 'dot' not in path?\n"; } else { std::cerr << "\n"; - system(LLVM_PATH_GV " /tmp/dag.tempgraph.ps"); + system(LLVM_PATH_GV " " + TempDir + "dag.tempgraph.ps"); } - system(("rm " + Filename + " /tmp/dag.tempgraph.ps").c_str()); + system(("rm " + Filename + " "+ TempDir + "dag.tempgraph.ps").c_str()); return; #endif // HAVE_GV #endif // NDEBUG |