|
Jlm
|
#include <LoopUnswitching.hpp>


Public Member Functions | |
| ~LoopUnswitchingDefaultHeuristic () noexcept override | |
| bool | shouldUnswitchLoop (ThetaGammaPredicateCorrelation &correlation) const noexcept override |
Public Member Functions inherited from jlm::llvm::LoopUnswitchingHeuristic | |
| virtual | ~LoopUnswitchingHeuristic () noexcept |
Static Public Member Functions | |
| static std::shared_ptr< const LoopUnswitchingDefaultHeuristic > | create () |
Default heuristic for loop unswitching. The heuristic checks that there are no structural nodes as part of the shared predicate nodes between the theta and gamma node. The reasoning is that the predicate nodes are duplicated, which would mean that we would duplicate conditionals and loops if we would permit structural nodes as part of the predicate nodes.
Definition at line 44 of file LoopUnswitching.hpp.
|
overridedefaultnoexcept |
|
static |
Definition at line 45 of file LoopUnswitching.cpp.
|
overridevirtualnoexcept |
Implements jlm::llvm::LoopUnswitchingHeuristic.
Definition at line 26 of file LoopUnswitching.cpp.