retdec
Public Member Functions | Private Attributes | List of all members
retdec::bin2llvmir::CallEntry Class Reference

#include <data_entries.h>

Inheritance diagram for retdec::bin2llvmir::CallEntry:
Inheritance graph
[legend]
Collaboration diagram for retdec::bin2llvmir::CallEntry:
Collaboration graph
[legend]

Public Member Functions

 CallEntry (llvm::CallInst *call, const FunctionEntry *base=nullptr)
 
void addRetLoad (llvm::LoadInst *load)
 
void setFormatString (const std::string &fmt)
 
void setArgStores (std::vector< llvm::StoreInst * > &&stores)
 
void setArgs (std::vector< llvm::Value * > &&args)
 
void setRetLoads (std::vector< llvm::LoadInst * > &&loads)
 
void setRetValues (std::vector< llvm::Value * > &&values)
 
llvm::CallInst * getCallInstruction () const
 
const FunctionEntrygetBaseFunction () const
 
std::string getFormatString () const
 
const std::vector< llvm::StoreInst * > & argStores () const
 
const std::vector< llvm::Value * > & retValues () const
 
const std::vector< llvm::LoadInst * > & retLoads () const
 
- Public Member Functions inherited from retdec::bin2llvmir::CallableEntry
bool isVoidarg () const
 
void addArg (llvm::Value *arg)
 
void setVoidarg (bool voidarg=true)
 
void setArgTypes (std::vector< llvm::Type * > &&types, std::vector< std::string > &&names={})
 
const std::vector< llvm::Value * > & args () const
 
const std::vector< llvm::Type * > & argTypes () const
 
const std::vector< std::string > & argNames () const
 

Private Attributes

const FunctionEntry_baseFunction
 
llvm::CallInst * _callInst = nullptr
 
std::string _fmtStr = ""
 
std::vector< llvm::LoadInst * > _retLoads
 
std::vector< llvm::Value * > _retValues
 
std::vector< llvm::StoreInst * > _argStores
 

Additional Inherited Members

- Protected Attributes inherited from retdec::bin2llvmir::CallableEntry
std::vector< llvm::Value * > _args
 
std::vector< llvm::Type * > _argTypes
 
std::vector< std::string > _argNames
 
bool _voidarg = false
 

Constructor & Destructor Documentation

◆ CallEntry()

retdec::bin2llvmir::CallEntry::CallEntry ( llvm::CallInst *  call,
const FunctionEntry base = nullptr 
)

Member Function Documentation

◆ addRetLoad()

void retdec::bin2llvmir::CallEntry::addRetLoad ( llvm::LoadInst *  load)

◆ argStores()

const std::vector< llvm::StoreInst * > & retdec::bin2llvmir::CallEntry::argStores ( ) const

◆ getBaseFunction()

const FunctionEntry * retdec::bin2llvmir::CallEntry::getBaseFunction ( ) const

◆ getCallInstruction()

CallInst * retdec::bin2llvmir::CallEntry::getCallInstruction ( ) const

◆ getFormatString()

std::string retdec::bin2llvmir::CallEntry::getFormatString ( ) const

◆ retLoads()

const std::vector< LoadInst * > & retdec::bin2llvmir::CallEntry::retLoads ( ) const

◆ retValues()

const std::vector< Value * > & retdec::bin2llvmir::CallEntry::retValues ( ) const

◆ setArgs()

void retdec::bin2llvmir::CallEntry::setArgs ( std::vector< llvm::Value * > &&  args)

◆ setArgStores()

void retdec::bin2llvmir::CallEntry::setArgStores ( std::vector< llvm::StoreInst * > &&  stores)

◆ setFormatString()

void retdec::bin2llvmir::CallEntry::setFormatString ( const std::string &  fmt)

◆ setRetLoads()

void retdec::bin2llvmir::CallEntry::setRetLoads ( std::vector< llvm::LoadInst * > &&  loads)

◆ setRetValues()

void retdec::bin2llvmir::CallEntry::setRetValues ( std::vector< llvm::Value * > &&  values)

Member Data Documentation

◆ _argStores

std::vector<llvm::StoreInst*> retdec::bin2llvmir::CallEntry::_argStores
private

◆ _baseFunction

const FunctionEntry* retdec::bin2llvmir::CallEntry::_baseFunction
private

◆ _callInst

llvm::CallInst* retdec::bin2llvmir::CallEntry::_callInst = nullptr
private

◆ _fmtStr

std::string retdec::bin2llvmir::CallEntry::_fmtStr = ""
private

◆ _retLoads

std::vector<llvm::LoadInst*> retdec::bin2llvmir::CallEntry::_retLoads
private

◆ _retValues

std::vector<llvm::Value*> retdec::bin2llvmir::CallEntry::_retValues
private

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