6 #ifndef JLM_RVSDG_DOTWRITER_HPP
7 #define JLM_RVSDG_DOTWRITER_HPP
45 WriteGraphs(util::graph::Writer & writer, const
Region & region,
bool emitTypeGraph);
56 const
Node & rvsdgNode,
57 util::graph::
Node & node,
58 util::graph::
Graph * typeGraph);
66 util::graph::
Node & node,
67 util::graph::
Graph * typeGraph);
72 util::graph::
Graph & graph,
74 util::graph::
Graph * typeGraph,
75 bool traverseRecursively);
82 util::graph::Port & outputPort,
83 const
Output & rvsdgOutput,
84 util::graph::
Graph * typeGraph);
void AttachNodeOutput(util::graph::Port &outputPort, const Output &rvsdgOutput, util::graph::Graph *typeGraph)
virtual void AnnotateGraphNode(const Node &rvsdgNode, util::graph::Node &node, util::graph::Graph *typeGraph)
virtual ~DotWriter() noexcept
virtual void AnnotateTypeGraphNode(const Type &type, util::graph::Node &node)
util::graph::Graph & WriteGraphs(util::graph::Writer &writer, const Region ®ion, bool emitTypeGraph)
util::graph::Graph & WriteGraph(util::graph::Writer &writer, const Region ®ion)
void AttachNodeInput(util::graph::Port &inputPort, const Input &rvsdgInput)
virtual void AnnotateRegionArgument(const RegionArgument ®ionArgument, util::graph::Node &node, util::graph::Graph *typeGraph)
virtual void AnnotateEdge(const Input &rvsdgInput, util::graph::Edge &edge)
void CreateGraphNodes(util::graph::Graph &graph, const Region ®ion, util::graph::Graph *typeGraph, bool traverseRecursively)
util::graph::Node & GetOrCreateTypeGraphNode(const Type &type, util::graph::Graph &typeGraph)
Represents the argument of a region.
Represent acyclic RVSDG subgraphs.
std::string Edge(jlm::rvsdg::Output *output, jlm::rvsdg::Input *input, std::unordered_map< rvsdg::Output *, ViewColors > &tailLabel, bool back_edge=false)
static std::string type(const Node *n)