6 #ifndef JLM_LLVM_OPT_AGGREGATEALLOCASPLITTING_HPP
7 #define JLM_LLVM_OPT_AGGREGATEALLOCASPLITTING_HPP
static jlm::util::StatisticsCollector statisticsCollector
Aggregate Alloca Splitting Transformation.
std::unique_ptr< Context > context_
static bool checkGetElementPtrUsers(const rvsdg::SimpleNode &gepNode)
void Run(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
static void splitAllocaNode(const AllocaTraceInfo &allocaTraceInfo)
void splitAllocaNodes(rvsdg::RvsdgModule &rvsdgModule)
static bool isSplitableType(const rvsdg::Type &type)
static std::optional< AllocaTraceInfo > isSplitable(rvsdg::SimpleNode &allocaNode)
~AggregateAllocaSplitting() noexcept override
std::vector< AllocaTraceInfo > findSplitableAllocaNodes(rvsdg::Region ®ion) const
Global memory state passed between functions.