6 #ifndef JLM_LLVM_OPT_STOREVALUEFORWARDING_HPP
7 #define JLM_LLVM_OPT_STOREVALUEFORWARDING_HPP
21 struct StoreValueOrigin;
22 class LoadTracingInfo;
99 rvsdg::Region & targetRegion,
static jlm::util::StatisticsCollector statisticsCollector
Store Value Forwarding Statistics class.
Store Value Forwarding Optimization.
~StoreValueForwarding() noexcept override
std::unique_ptr< Context > context_
void connectUnroutedLoopPosts(LoadTracingInfo &tracingInfo)
void processLoadNode(rvsdg::SimpleNode &loadNode)
rvsdg::Output & routeOutputToRegion(rvsdg::Output &output, rvsdg::Region ®ion)
void Run(rvsdg::RvsdgModule &module, util::StatisticsCollector &statisticsCollector) override
Perform RVSDG transformation.
rvsdg::Output & getStoredValueOrigin(StoreValueOrigin storeValueOrigin, rvsdg::Region &targetRegion, LoadTracingInfo &tracingInfo)
void traverseInterProceduralRegion(rvsdg::Region ®ion)
void traverseIntraProceduralRegion(rvsdg::Region ®ion)
void forwardStoredValues(LoadTracingInfo &tracingInfo)
Global memory state passed between functions.