7#ifndef JLM_RVSDG_GRAPH_HPP
8#define JLM_RVSDG_GRAPH_HPP
22 GraphImport(
Graph & graph, std::shared_ptr<const rvsdg::Type> type, std::string name);
37 Create(
Graph & graph, std::shared_ptr<const rvsdg::Type> type, std::string name);
130 static std::vector<Node *>
std::string debug_string() const override
const std::string & Name() const noexcept
static GraphExport & Create(Output &origin, std::string name)
GraphExport & Copy(Output &origin, StructuralOutput *output) const override
GraphImport & Copy(Region ®ion, StructuralInput *input) const override
static GraphImport & Create(Graph &graph, std::shared_ptr< const rvsdg::Type > type, std::string name)
std::string debug_string() const override
const std::string & Name() const noexcept
static std::vector< Node * > ExtractTailNodes(const Graph &rvsdg)
std::unique_ptr< Region > RootRegion_
Region::Id generateRegionId() noexcept
Region & GetRootRegion() const noexcept
std::unique_ptr< Graph > Copy() const
rvsdg::Region * region() const noexcept
Represents the argument of a region.
StructuralInput * input() const noexcept
Represents the result of a region.
StructuralOutput * output() const noexcept
Represent acyclic RVSDG subgraphs.
void prune(bool recursive)
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.