Spatial
Simple Static Analysis in LLVM
Public Member Functions | Public Attributes | List of all members
spatial::ValueContext< DataflowValue > Class Template Reference

#include <ValueContext.h>

Public Member Functions

 ValueContext (DataflowValue BI, DataflowValue Top)
 
DataflowValue getBI ()
 
DataflowValue getTop ()
 
std::vector< std::pair< Context, llvm::Instruction * > > getContextChild (Context Src)
 
int getSavedContext (llvm::Function *Func, DataflowValue BI)
 
int initializeContext (llvm::Function *Func, DataflowValue BI)
 
void setResult (Context C, DataflowValue Value)
 
DataflowValue getResult (Context C)
 
void updateContextGraph (Context Src, Context Dest, llvm::Instruction *CallSite)
 
std::vector< ContextgetContexts (llvm::Function *Func)
 

Public Attributes

std::map< Context, std::map< llvm::Instruction *, DataflowValue > > getDataFlowIn
 
std::map< Context, std::map< llvm::Instruction *, DataflowValue > > getDataFlowOut
 

Constructor & Destructor Documentation

◆ ValueContext()

template<class DataflowValue >
spatial::ValueContext< DataflowValue >::ValueContext ( DataflowValue  BI,
DataflowValue  Top 
)

Member Function Documentation

◆ getBI()

template<class DataflowValue >
DataflowValue spatial::ValueContext< DataflowValue >::getBI

◆ getContextChild()

template<class DataflowValue >
std::vector< std::pair< Context, llvm::Instruction * > > spatial::ValueContext< DataflowValue >::getContextChild ( Context  Src)

◆ getContexts()

template<class DataflowValue >
std::vector< Context > spatial::ValueContext< DataflowValue >::getContexts ( llvm::Function *  Func)

◆ getResult()

template<class DataflowValue >
DataflowValue spatial::ValueContext< DataflowValue >::getResult ( Context  C)

◆ getSavedContext()

template<class DataflowValue >
int spatial::ValueContext< DataflowValue >::getSavedContext ( llvm::Function *  Func,
DataflowValue  BI 
)

◆ getTop()

template<class DataflowValue >
DataflowValue spatial::ValueContext< DataflowValue >::getTop

◆ initializeContext()

template<class DataflowValue >
int spatial::ValueContext< DataflowValue >::initializeContext ( llvm::Function *  Func,
DataflowValue  BI 
)

◆ setResult()

template<class DataflowValue >
void spatial::ValueContext< DataflowValue >::setResult ( Context  C,
DataflowValue  Value 
)

◆ updateContextGraph()

template<class DataflowValue >
void spatial::ValueContext< DataflowValue >::updateContextGraph ( Context  Src,
Context  Dest,
llvm::Instruction *  CallSite 
)

Member Data Documentation

◆ getDataFlowIn

template<class DataflowValue >
std::map<Context, std::map<llvm::Instruction *, DataflowValue> > spatial::ValueContext< DataflowValue >::getDataFlowIn

◆ getDataFlowOut

template<class DataflowValue >
std::map<Context, std::map<llvm::Instruction *, DataflowValue> > spatial::ValueContext< DataflowValue >::getDataFlowOut

The documentation for this class was generated from the following file: