Jlm
DotWriter.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2024 HÃ¥vard Krogstie <krogstie.havard@gmail.com>
3  * See COPYING for terms of redistribution.
4  */
5 
6 #ifndef JLM_LLVM_DOTWRITER_HPP
7 #define JLM_LLVM_DOTWRITER_HPP
8 
10 
11 namespace jlm::llvm
12 {
13 
15 {
16 public:
17  ~LlvmDotWriter() noexcept override;
18 
19 protected:
20  void
21  AnnotateTypeGraphNode(const rvsdg::Type & type, util::graph::Node & node) override;
22 
23  void
25  const rvsdg::Node & rvsdgNode,
26  util::graph::Node & node,
27  util::graph::Graph * typeGraph) override;
28  void
30  const rvsdg::RegionArgument & regionArgument,
31  util::graph::Node & node,
32  util::graph::Graph * typeGraph) override;
33 
34  void
35  AnnotateEdge(const rvsdg::Input & rvsdgInput, util::graph::Edge & edge) override;
36 };
37 
38 }
39 
40 #endif // JLM_LLVM_DOTWRITER_HPP
~LlvmDotWriter() noexcept override
void AnnotateTypeGraphNode(const rvsdg::Type &type, util::graph::Node &node) override
Definition: DotWriter.cpp:21
void AnnotateRegionArgument(const rvsdg::RegionArgument &regionArgument, util::graph::Node &node, util::graph::Graph *typeGraph) override
Definition: DotWriter.cpp:90
void AnnotateEdge(const rvsdg::Input &rvsdgInput, util::graph::Edge &edge) override
Definition: DotWriter.cpp:73
void AnnotateGraphNode(const rvsdg::Node &rvsdgNode, util::graph::Node &node, util::graph::Graph *typeGraph) override
Definition: DotWriter.cpp:118
std::string Edge(jlm::rvsdg::Output *output, jlm::rvsdg::Input *input, std::unordered_map< rvsdg::Output *, ViewColors > &tailLabel, bool back_edge=false)
Definition: view.cpp:172
Global memory state passed between functions.
static std::string type(const Node *n)
Definition: view.cpp:255