diff options
Diffstat (limited to 'gnu/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp')
| -rw-r--r-- | gnu/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/gnu/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp b/gnu/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp deleted file mode 100644 index ff2085aae86..00000000000 --- a/gnu/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp +++ /dev/null @@ -1,98 +0,0 @@ -//===-- ScheduleDAGPrinter.cpp - Implement ScheduleDAG::viewGraph() -------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This implements the ScheduleDAG::viewGraph method. -// -//===----------------------------------------------------------------------===// - -#include "llvm/ADT/StringExtras.h" -#include "llvm/CodeGen/MachineConstantPool.h" -#include "llvm/CodeGen/MachineFunction.h" -#include "llvm/CodeGen/ScheduleDAG.h" -#include "llvm/CodeGen/TargetRegisterInfo.h" -#include "llvm/IR/Constants.h" -#include "llvm/Support/Debug.h" -#include "llvm/Support/GraphWriter.h" -#include "llvm/Support/raw_ostream.h" -using namespace llvm; - -namespace llvm { - template<> - struct DOTGraphTraits<ScheduleDAG*> : public DefaultDOTGraphTraits { - - DOTGraphTraits (bool isSimple=false) : DefaultDOTGraphTraits(isSimple) {} - - static std::string getGraphName(const ScheduleDAG *G) { - return G->MF.getName(); - } - - static bool renderGraphFromBottomUp() { - return true; - } - - static bool isNodeHidden(const SUnit *Node) { - return (Node->NumPreds > 10 || Node->NumSuccs > 10); - } - - static std::string getNodeIdentifierLabel(const SUnit *Node, - const ScheduleDAG *Graph) { - std::string R; - raw_string_ostream OS(R); - OS << static_cast<const void *>(Node); - return R; - } - - /// If you want to override the dot attributes printed for a particular - /// edge, override this method. - static std::string getEdgeAttributes(const SUnit *Node, - SUnitIterator EI, - const ScheduleDAG *Graph) { - if (EI.isArtificialDep()) - return "color=cyan,style=dashed"; - if (EI.isCtrlDep()) - return "color=blue,style=dashed"; - return ""; - } - - - std::string getNodeLabel(const SUnit *SU, const ScheduleDAG *Graph); - static std::string getNodeAttributes(const SUnit *N, - const ScheduleDAG *Graph) { - return "shape=Mrecord"; - } - - static void addCustomGraphFeatures(ScheduleDAG *G, - GraphWriter<ScheduleDAG*> &GW) { - return G->addCustomGraphFeatures(GW); - } - }; -} - -std::string DOTGraphTraits<ScheduleDAG*>::getNodeLabel(const SUnit *SU, - const ScheduleDAG *G) { - return G->getGraphNodeLabel(SU); -} - -/// viewGraph - Pop up a ghostview window with the reachable parts of the DAG -/// rendered using 'dot'. -/// -void ScheduleDAG::viewGraph(const Twine &Name, const Twine &Title) { - // This code is only for debugging! -#ifndef NDEBUG - ViewGraph(this, Name, false, Title); -#else - errs() << "ScheduleDAG::viewGraph is only available in debug builds on " - << "systems with Graphviz or gv!\n"; -#endif // NDEBUG -} - -/// Out-of-line implementation with no arguments is handy for gdb. -void ScheduleDAG::viewGraph() { - viewGraph(getDAGName(), "Scheduling-Units Graph for " + getDAGName()); -} |
