Spatial
Simple Static Analysis in LLVM
Public Member Functions | List of all members
spatial::GenericInstModel Class Reference

#include <GenericInstModel.h>

Inheritance diagram for spatial::GenericInstModel:
Inheritance graph
[legend]
Collaboration diagram for spatial::GenericInstModel:
Collaboration graph
[legend]

Public Member Functions

 ~GenericInstModel ()
 
std::vector< int > extractRedirections (llvm::Instruction *)
 
InstInfo extractInstInfo (llvm::Instruction *)
 
std::vector< Token * > extractToken (llvm::Instruction *)
 
std::vector< Token * > extractToken (llvm::StoreInst *)
 
std::vector< Token * > extractToken (llvm::LoadInst *)
 
std::vector< Token * > extractToken (llvm::AllocaInst *)
 
std::vector< Token * > extractToken (llvm::BitCastInst *)
 
std::vector< Token * > extractToken (llvm::ReturnInst *)
 
std::vector< Token * > extractToken (llvm::GetElementPtrInst *)
 
std::vector< Token * > extractToken (llvm::GlobalVariable *)
 
std::vector< Token * > extractToken (llvm::CallInst *)
 
std::vector< Token * > extractToken (llvm::Argument *, llvm::Function *)
 
std::vector< int > extractRedirections (llvm::GlobalVariable *)
 
template<typename GEP >
TokenhandleGEPUtil (GEP *, Token *)
 handleGEPUtil - Returns the extended field value for a GEP More...
 
 InstModel (TokenWrapper *TW)
 
- Public Member Functions inherited from spatial::InstModel
 InstModel (TokenWrapper *TW)
 
virtual ~InstModel ()
 
TokenWrappergetTokenWrapper ()
 
virtual std::vector< Token * > extractToken (llvm::Instruction *)=0
 
virtual std::vector< int > extractRedirections (llvm::Instruction *)=0
 
virtual InstInfo extractInstInfo (llvm::Instruction *)=0
 

Constructor & Destructor Documentation

◆ ~GenericInstModel()

spatial::GenericInstModel::~GenericInstModel ( )

Member Function Documentation

◆ extractInstInfo()

InstInfo spatial::GenericInstModel::extractInstInfo ( llvm::Instruction *  )
virtual

extractInstInfo - Returns empty InstInfo for every instruction as it is not support right now

Implements spatial::InstModel.

◆ extractRedirections() [1/2]

std::vector< int > spatial::GenericInstModel::extractRedirections ( llvm::GlobalVariable *  G)

◆ extractRedirections() [2/2]

std::vector< int > spatial::GenericInstModel::extractRedirections ( llvm::Instruction *  Inst)
virtual

extractRedirections - Returns the relative level of redirection based of LHS and RHS on the statement

Implements spatial::InstModel.

◆ extractToken() [1/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::AllocaInst *  Inst)

extractToken - Returns a vector of alias objects for AllocaInst \Inst operands.

◆ extractToken() [2/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::Argument *  Arg,
llvm::Function *  Func 
)

extractToken - Returns a vector of alias objects for Argument \Arg of Function \Func

◆ extractToken() [3/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::BitCastInst *  Inst)

extractToken - Returns a vector of alias objects for BitCastInst \Inst operands.

◆ extractToken() [4/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::CallInst *  CI)

extractToken - Returns the alias object for variable storing the return value from the function call

◆ extractToken() [5/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::GetElementPtrInst *  Inst)

extractToken - Returns a vector of alias objects for GetElementPointer \Inst operands.

◆ extractToken() [6/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::GlobalVariable *  Global)

extractToken - Returns a vector of alias objects derived from Global variable \Global operands

◆ extractToken() [7/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::Instruction *  Inst)
virtual

extractToken - Returns a vector of alias objects derived from Instruction \Inst operands

Implements spatial::InstModel.

◆ extractToken() [8/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::LoadInst *  Inst)

extractToken - Returns a vector of alias objects for StoreInst \Inst operands.

◆ extractToken() [9/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::ReturnInst *  Inst)

extractToken - Returns a vector of alias objects for ReturnInst \Inst operands.

◆ extractToken() [10/10]

std::vector< Token * > spatial::GenericInstModel::extractToken ( llvm::StoreInst *  Inst)

extractToken - Returns a vector of alias objects for StoreInst \Inst operands.

◆ handleGEPUtil()

template<typename GEP >
Token * spatial::GenericInstModel::handleGEPUtil ( GEP *  G,
Token Ptr 
)

handleGEPUtil - Returns the extended field value for a GEP

◆ InstModel()

spatial::InstModel::InstModel ( TokenWrapper TW)

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