Spatial
Simple Static Analysis in LLVM
|
Classes | |
class | BenchmarkRunner |
class | GenericInstModel |
class | Graph |
class | InstInfo |
class | InstModel |
class | LFCPAInstModel |
class | PointsToBenchmarkRunner |
class | PTABenchmarkRunner |
class | Token |
class | TokenWrapper |
class | ValueContext |
class | Worklist |
Typedefs | |
using | Context = int |
Enumerations | |
enum | InfoType { Call , Phi , Skip , RWMem } |
enum | opTokenTy { isArray , isAlloca , isOpBitcast , isPhiGEPOpd , isIcmpGEPOpd , isOneGEPIndx , isFunPtr , isFunArg , isRetGEP } |
Functions | |
std::string | print_args (llvm::CallInst *CI) |
std::ostream & | operator<< (std::ostream &OS, const PointsToBenchmarkRunner &B) |
std::ostream & | operator<< (std::ostream &OS, const PTABenchmarkRunner &B) |
template Token * | GenericInstModel::handleGEPUtil< llvm::GetElementPtrInst > (llvm::GetElementPtrInst *G, Token *Ptr) |
template Token * | GenericInstModel::handleGEPUtil< llvm::GEPOperator > (llvm::GEPOperator *G, Token *Ptr) |
template Token * | LFCPAInstModel::handleGEPUtil< llvm::GetElementPtrInst > (llvm::GetElementPtrInst *G, Token *Ptr) |
template Token * | LFCPAInstModel::handleGEPUtil< llvm::GEPOperator > (llvm::GEPOperator *G, Token *Ptr) |
template bool | LFCPAInstModel::isStructFieldPointerTy< llvm::GetElementPtrInst > (llvm::GetElementPtrInst *G) |
template bool | LFCPAInstModel::isStructFieldPointerTy< llvm::GEPOperator > (llvm::GEPOperator *G) |
template bool | LFCPAInstModel::isArrayType< llvm::GetElementPtrInst > (llvm::GetElementPtrInst *G) |
template bool | LFCPAInstModel::isArrayType< llvm::GEPOperator > (llvm::GEPOperator *G) |
template bool | Token::isGEPOperandArrayTy< llvm::GetElementPtrInst > (llvm::GetElementPtrInst *G, int Idx=-1) |
template bool | Token::isGEPOperandArrayTy< llvm::GEPOperator > (llvm::GEPOperator *G, int Idx=-1) |
std::ostream & | operator<< (std::ostream &OS, const Token &A) |
template std::vector< int > | Token::getGEPArrayIndex< llvm::GetElementPtrInst > (llvm::GetElementPtrInst *G) |
template std::vector< int > | Token::getGEPArrayIndex< llvm::GEPOperator > (llvm::GEPOperator *G) |
void | InstNamer (llvm::Function &F) |
InstNamer - sets name to the SSA temporaries. More... | |
bool | SkipFunction (llvm::Function &F) |
std::vector< llvm::Instruction * > | GetPred (llvm::Instruction *Inst) |
std::vector< llvm::Instruction * > | GetSucc (llvm::Instruction *Inst) |
int | getPointerOperandIndex (llvm::Instruction *Inst) |
template<typename Node > | |
std::ostream & | operator<< (std::ostream &OS, const Graph< Node > &G) |
using spatial::Context = typedef int |
enum spatial::InfoType |
enum spatial::opTokenTy |
template Token * spatial::GenericInstModel::handleGEPUtil< llvm::GEPOperator > | ( | llvm::GEPOperator * | G, |
Token * | Ptr | ||
) |
template Token * spatial::GenericInstModel::handleGEPUtil< llvm::GetElementPtrInst > | ( | llvm::GetElementPtrInst * | G, |
Token * | Ptr | ||
) |
int spatial::getPointerOperandIndex | ( | llvm::Instruction * | Inst | ) |
std::vector< llvm::Instruction * > spatial::GetPred | ( | llvm::Instruction * | Inst | ) |
std::vector< llvm::Instruction * > spatial::GetSucc | ( | llvm::Instruction * | Inst | ) |
void spatial::InstNamer | ( | llvm::Function & | F | ) |
InstNamer - sets name to the SSA temporaries.
template Token * spatial::LFCPAInstModel::handleGEPUtil< llvm::GEPOperator > | ( | llvm::GEPOperator * | G, |
Token * | Ptr | ||
) |
template Token * spatial::LFCPAInstModel::handleGEPUtil< llvm::GetElementPtrInst > | ( | llvm::GetElementPtrInst * | G, |
Token * | Ptr | ||
) |
template bool spatial::LFCPAInstModel::isArrayType< llvm::GEPOperator > | ( | llvm::GEPOperator * | G | ) |
template bool spatial::LFCPAInstModel::isArrayType< llvm::GetElementPtrInst > | ( | llvm::GetElementPtrInst * | G | ) |
template bool spatial::LFCPAInstModel::isStructFieldPointerTy< llvm::GEPOperator > | ( | llvm::GEPOperator * | G | ) |
template bool spatial::LFCPAInstModel::isStructFieldPointerTy< llvm::GetElementPtrInst > | ( | llvm::GetElementPtrInst * | G | ) |
std::ostream & spatial::operator<< | ( | std::ostream & | OS, |
const Graph< Node > & | G | ||
) |
std::ostream & spatial::operator<< | ( | std::ostream & | OS, |
const PointsToBenchmarkRunner & | B | ||
) |
std::ostream & spatial::operator<< | ( | std::ostream & | OS, |
const PTABenchmarkRunner & | B | ||
) |
std::ostream & spatial::operator<< | ( | std::ostream & | OS, |
const Token & | A | ||
) |
std::string spatial::print_args | ( | llvm::CallInst * | CI | ) |
bool spatial::SkipFunction | ( | llvm::Function & | F | ) |
template std::vector< int > spatial::Token::getGEPArrayIndex< llvm::GEPOperator > | ( | llvm::GEPOperator * | G | ) |
template std::vector< int > spatial::Token::getGEPArrayIndex< llvm::GetElementPtrInst > | ( | llvm::GetElementPtrInst * | G | ) |
template bool spatial::Token::isGEPOperandArrayTy< llvm::GEPOperator > | ( | llvm::GEPOperator * | G, |
int | Idx = -1 |
||
) |
template bool spatial::Token::isGEPOperandArrayTy< llvm::GetElementPtrInst > | ( | llvm::GetElementPtrInst * | G, |
int | Idx = -1 |
||
) |