Jlm
Namespaces | Functions
Annotation.cpp File Reference
#include <jlm/llvm/ir/aggregation.hpp>
#include <jlm/llvm/ir/Annotation.hpp>
#include <jlm/llvm/ir/operators/operators.hpp>
#include <algorithm>
#include <typeindex>
Include dependency graph for Annotation.cpp:

Go to the source code of this file.

Namespaces

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

Functions

static void jlm::llvm::AnnotateReadWrite (const AggregationNode &, AnnotationMap &)
 
static void jlm::llvm::AnnotateReadWrite (const EntryAggregationNode &entryAggregationNode, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateReadWrite (const ExitAggregationNode &exitAggregationNode, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateReadWrite (const BasicBlockAggregationNode &basicBlockAggregationNode, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateReadWrite (const LinearAggregationNode &linearAggregationNode, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateReadWrite (const BranchAggregationNode &branchAggregationNode, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateReadWrite (const LoopAggregationNode &loopAggregationNode, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateDemandSet (const AggregationNode &, VariableSet &, AnnotationMap &)
 
static void jlm::llvm::AnnotateDemandSet (const EntryAggregationNode &entryAggregationNode, VariableSet &workingSet, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateDemandSet (const ExitAggregationNode &exitAggregationNode, VariableSet &workingSet, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateDemandSet (const BasicBlockAggregationNode &basicBlockAggregationNode, VariableSet &workingSet, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateDemandSet (const LinearAggregationNode &linearAggregationNode, VariableSet &workingSet, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateDemandSet (const BranchAggregationNode &branchAggregationNode, VariableSet &workingSet, AnnotationMap &demandMap)
 
static void jlm::llvm::AnnotateDemandSet (const LoopAggregationNode &loopAggregationNode, VariableSet &workingSet, AnnotationMap &demandMap)
 
template<class T >
static void jlm::llvm::AnnotateDemandSet (const AggregationNode *aggregationNode, VariableSet &workingSet, AnnotationMap &demandMap)
 
std::unique_ptr< AnnotationMap > jlm::llvm::Annotate (const AggregationNode &aggregationTreeRoot)