u64_t getVCallIdx(CallSite cs)
const std::string vtInitMDName
bool isVirtualCallSite(CallSite cs)
bool isConstructor(const Function *F)
std::string getClassNameFromType(const Type *ty)
bool isDestructor(const Function *F)
const std::string derefMDName
bool isSameThisPtrInConstructor(const Argument *thisPtr1, const Value *thisPtr2)
bool isCPPThunkFunction(const Function *F)
bool VCallInCtorOrDtor(CallSite cs)
const Argument * getConstructorThisPtr(const Function *fun)
bool isLoadVtblInst(const LoadInst *loadInst)
const Function * getThunkTarget(const Function *F)
std::string getClassNameFromVtblObj(const Value *value)
const std::string vtMDName
const Value * getVCallThisPtr(CallSite cs)
const uint32_t moduleFlagValue
Value we expect a ctir-annotated module to have.
llvm::Argument Argument
LLVM Aliases and constants.
bool isValVtbl(const Value *val)
std::string getBeforeBrackets(const std::string &name)
const Value * getVCallVtblPtr(CallSite cs)
std::string getClassNameOfThisPtr(CallSite cs)
struct DemangledName demangle(const std::string &name)
std::string getFunNameOfVCallSite(CallSite cs)