19 ConvertMemoryStateSplitsInRegion(module.Rvsdg().GetRootRegion());
28 memoryStateSplitConversion.
Run(module, statisticsCollector);
34 for (
auto & node : region.
Nodes())
39 for (
auto & subregion : structuralNode->Subregions())
46 if (rvsdg::is<llvm::LambdaEntryMemoryStateSplitOperation>(&node)
47 || rvsdg::is<llvm::MemoryStateSplitOperation>(&node))
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)