|
Jlm
|
#include <PredicateCorrelation.hpp>


Public Member Functions | |
| ~PredicateCorrelation () noexcept override | |
| PredicateCorrelation () | |
| PredicateCorrelation (const PredicateCorrelation &)=delete | |
| PredicateCorrelation & | operator= (const PredicateCorrelation &)=delete |
| void | Run (rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override |
| Perform RVSDG transformation. More... | |
Public Member Functions inherited from jlm::rvsdg::Transformation | |
| virtual | ~Transformation () noexcept |
| Transformation (std::string_view Name) | |
| const std::string_view & | GetName () const noexcept |
| void | Run (RvsdgModule &module) |
| Perform RVSDG transformation. More... | |
Static Private Member Functions | |
| static void | correlatePredicatesInRegion (rvsdg::Region ®ion) |
| static void | correlatePredicatesInTheta (rvsdg::ThetaNode &thetaNode) |
| static bool | handleControlConstantCorrelation (const ThetaGammaPredicateCorrelation &correlation) |
| static bool | handleMatchConstantCorrelation (const ThetaGammaPredicateCorrelation &correlation) |
Predicate Correlation correlates the predicates between theta and gamma nodes, and redirects their respective predicates to match operation nodes.
If a theta node's predicate originates from a gamma node with two control flow constants, then the theta node's predicate is redirected to the gamma node's predicate match node.
Definition at line 270 of file PredicateCorrelation.hpp.
|
overridedefaultnoexcept |
|
inline |
Definition at line 275 of file PredicateCorrelation.hpp.
|
delete |
|
staticprivate |
Definition at line 283 of file PredicateCorrelation.cpp.
|
staticprivate |
Performs theta-gamma predicate correlation
| thetaNode | The theta node for which to correlate. |
Definition at line 323 of file PredicateCorrelation.cpp.
|
staticprivate |
Definition at line 359 of file PredicateCorrelation.cpp.
|
staticprivate |
Definition at line 378 of file PredicateCorrelation.cpp.
|
delete |
|
overridevirtual |
Perform RVSDG transformation.
| module | RVSDG module the transformation is performed on. |
| statisticsCollector | Statistics collector for collecting transformation statistics. |
Implements jlm::rvsdg::Transformation.
Definition at line 406 of file PredicateCorrelation.cpp.