19 ConvertMemoryStateSplitsInRegion(module.Rvsdg().GetRootRegion());
34 for (
auto & node : region.
Nodes())
static jlm::util::StatisticsCollector statisticsCollector
static std::vector< jlm::rvsdg::Output * > create(size_t nalternatives, jlm::rvsdg::Output &value, bool isConstant=false)
~MemoryStateSplitConversion() noexcept override
static void CreateAndRun(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector)
void Run(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
static void ConvertMemoryStateSplitsInRegion(rvsdg::Region ®ion)
Represent acyclic RVSDG subgraphs.
void prune(bool recursive)
NodeRange Nodes() noexcept
static void divert_users(jlm::rvsdg::Output *output, Context &ctx)
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.