From 3aa2c74e192124244d22aaef857980e16fab49ea Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 19 Nov 2005 07:44:09 +0000 Subject: [PATCH] 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 --- lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp index 73535809333..1782587c3e4 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 @@ -108,7 +109,8 @@ std::string DOTGraphTraits::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 -- 2.34.1