17 const rvsdg::Region * region,
19 std::unordered_map<const Output *, std::string> &);
24 return std::string(depth * 2,
' ');
30 std::unordered_map<const Output *, std::string> &
map)
41 std::unordered_map<const Output *, std::string> &
map)
63 for (
size_t n = 0;
n <
snode->nsubregions();
n++)
81 if (argument->input())
96 std::unordered_map<const Output *, std::string> &
map)
113 auto result = region->
result(
n);
116 if (result->output())
117 footer +=
map[result->output()] +
" <= ";
132 std::unordered_map<const Output *, std::string> &
map)
144 std::unordered_map<const Output *, std::string>
map;
NodeInput * input(size_t index) const noexcept
NodeOutput * output(size_t index) const noexcept
virtual std::string DebugString() const =0
size_t ninputs() const noexcept
size_t noutputs() const noexcept
Represents the argument of a region.
Represent acyclic RVSDG subgraphs.
RegionArgument * argument(size_t index) const noexcept
size_t nresults() const noexcept
RegionResult * result(size_t index) const noexcept
size_t narguments() const noexcept
static std::string region_header(const rvsdg::Region *region, std::unordered_map< const Output *, std::string > &map)
static std::string indent(size_t depth)
static std::string node_to_string(const Node *node, size_t depth, std::unordered_map< const Output *, std::string > &map)
static std::string region_footer(const rvsdg::Region *region, std::unordered_map< const Output *, std::string > &map)
static std::string region_to_string(const rvsdg::Region *region, size_t depth, std::unordered_map< const Output *, std::string > &)
detail::TopDownTraverserGeneric< true > TopDownConstTraverser
Traverser for visiting every node in a const region in a top down order.
std::string view(const rvsdg::Region *region)
static std::string region_body(const Region *region, const size_t depth, std::unordered_map< const Output *, std::string > &map)
size_t ninputs(const rvsdg::Region *region) noexcept
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.
static std::string create_port_name(const jlm::rvsdg::Output *port, std::unordered_map< const Output *, std::string > &map)
static std::string strfmt(Args... args)