6 #ifndef JLM_LLVM_OPT_LOOPUNSWITCHING_HPP
7 #define JLM_LLVM_OPT_LOOPUNSWITCHING_HPP
16 class SubstitutionMap;
23 class ThetaGammaPredicateCorrelation;
116 heuristic_(std::move(heuristic))
126 std::shared_ptr<const LoopUnswitchingHeuristic> heuristic);
141 static std::vector<std::vector<rvsdg::Node *>>
148 const std::vector<std::vector<rvsdg::Node *>> & nodes);
158 allLoopVarsAreRoutedThroughGamma(
static jlm::util::StatisticsCollector statisticsCollector
~LoopUnswitchingDefaultHeuristic() noexcept override
virtual bool shouldUnswitchLoop(ThetaGammaPredicateCorrelation &correlation) const noexcept=0
virtual ~LoopUnswitchingHeuristic() noexcept
std::shared_ptr< const LoopUnswitchingHeuristic > heuristic_
~LoopUnswitching() noexcept override
Conditional operator / pattern matching.
Represent acyclic RVSDG subgraphs.
Global memory state passed between functions.