Jlm
Namespaces | Functions
PredicateCorrelation.cpp File Reference
#include <jlm/llvm/ir/operators/IntegerOperations.hpp>
#include <jlm/llvm/opt/PredicateCorrelation.hpp>
#include <jlm/rvsdg/bitstring/constant.hpp>
#include <jlm/rvsdg/delta.hpp>
#include <jlm/rvsdg/gamma.hpp>
#include <jlm/rvsdg/lambda.hpp>
#include <jlm/rvsdg/MatchType.hpp>
#include <jlm/rvsdg/Phi.hpp>
#include <jlm/rvsdg/RvsdgModule.hpp>
#include <jlm/rvsdg/theta.hpp>
#include <jlm/util/Statistics.hpp>
Include dependency graph for PredicateCorrelation.cpp:

Go to the source code of this file.

Namespaces

 jlm
 
 jlm::llvm
 Global memory state passed between functions.
 

Functions

static std::optional< std::vector< uint64_t > > jlm::llvm::extractConstantAlternatives (const rvsdg::Output &gammaOutput)
 
static std::optional< std::unique_ptr< ThetaGammaPredicateCorrelation > > jlm::llvm::computeControlConstantCorrelation (rvsdg::ThetaNode &thetaNode)
 
static std::optional< std::unique_ptr< ThetaGammaPredicateCorrelation > > jlm::llvm::computeMatchConstantCorrelation (rvsdg::ThetaNode &thetaNode)
 
static std::optional< std::unique_ptr< ThetaGammaPredicateCorrelation > > jlm::llvm::computeMatchCorrelation (rvsdg::ThetaNode &thetaNode)
 
std::optional< std::unique_ptr< ThetaGammaPredicateCorrelation > > jlm::llvm::computeThetaGammaPredicateCorrelation (rvsdg::ThetaNode &thetaNode)
 
static std::optional< std::unique_ptr< GammaGammaPredicateCorrelation > > jlm::llvm::computeMatchCorrelation (rvsdg::GammaNode &gammaNode1)
 
std::optional< std::unique_ptr< GammaGammaPredicateCorrelation > > jlm::llvm::computeGammaGammaPredicateCorrelation (rvsdg::GammaNode &gammaNode)
 
std::optional< GammaSubregionRoles > jlm::llvm::determineGammaSubregionRoles (const ThetaGammaPredicateCorrelation &correlation)