7 #ifndef JLM_RVSDG_GRAPH_HPP
8 #define JLM_RVSDG_GRAPH_HPP
24 [[nodiscard]]
const std::string &
30 [[nodiscard]] std::string
37 Create(
Graph & graph, std::shared_ptr<const rvsdg::Type>
type, std::string name);
52 [[nodiscard]]
const std::string &
58 [[nodiscard]] std::string
107 [[nodiscard]] std::unique_ptr<Graph>
130 static std::vector<Node *>
const std::string & Name() const noexcept
std::string debug_string() const override
static GraphExport & Create(Output &origin, std::string name)
GraphExport & Copy(Output &origin, StructuralOutput *output) const override
GraphExport(Output &origin, std::string name)
GraphImport & Copy(Region ®ion, StructuralInput *input) const override
static GraphImport & Create(Graph &graph, std::shared_ptr< const rvsdg::Type > type, std::string name)
const std::string & Name() const noexcept
std::string debug_string() const override
GraphImport(Graph &graph, std::shared_ptr< const rvsdg::Type > type, std::string name)
static std::vector< Node * > ExtractTailNodes(const Graph &rvsdg)
std::unique_ptr< Region > RootRegion_
Region::Id generateRegionId() noexcept
std::unique_ptr< Graph > Copy() const
Region & GetRootRegion() const noexcept
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)
static std::string type(const Node *n)