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

#include <data_entries.h>

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

Public Member Functions

 DataFlowEntry (llvm::Value *called)
 
bool isFunction () const
 
bool isValue () const
 
bool hasDefinition () const
 
llvm::Function * getFunction () const
 
llvm::Value * getValue () const
 
void setCalledValue (llvm::Value *called)
 
std::size_t numberOfCalls () const
 
bool hasBranches () const
 
bool storesOnRawStack (const Abi &abi) const
 
void setIsFullyDecoded (bool res=true)
 
bool isFullyDecoded () const
 
CallEntrycreateCallEntry (llvm::CallInst *call)
 
const std::vector< CallEntry > & callEntries () const
 
std::vector< CallEntry > & callEntries ()
 
- Public Member Functions inherited from retdec::bin2llvmir::FunctionEntry
bool isVariadic () const
 
bool isWrapper () const
 
void addRetEntry (const ReturnEntry &ret)
 
ReturnEntrycreateRetEntry (llvm::ReturnInst *ret)
 
void setArgs (std::vector< llvm::Value * > &&args)
 
void setVariadic (bool variadic=true)
 
void setWrappedCall (llvm::CallInst *wrap)
 
void setRetType (llvm::Type *type)
 
void setRetValue (llvm::Value *val)
 
void setCallingConvention (const CallingConvention::ID &cc)
 
llvm::Value * getRetValue () const
 
llvm::Type * getRetType () const
 
llvm::CallInst * getWrappedCall () const
 
CallingConvention::ID getCallingConvention () const
 
const std::vector< ReturnEntry > & retEntries () const
 
std::vector< ReturnEntry > & retEntries ()
 
- 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

llvm::Value * _calledValue = nullptr
 
std::vector< CallEntry_calls
 
bool _decoded = true
 

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

◆ DataFlowEntry()

retdec::bin2llvmir::DataFlowEntry::DataFlowEntry ( llvm::Value *  called)

Member Function Documentation

◆ callEntries() [1/2]

std::vector< CallEntry > & retdec::bin2llvmir::DataFlowEntry::callEntries ( )

◆ callEntries() [2/2]

const std::vector< CallEntry > & retdec::bin2llvmir::DataFlowEntry::callEntries ( ) const

◆ createCallEntry()

CallEntry * retdec::bin2llvmir::DataFlowEntry::createCallEntry ( llvm::CallInst *  call)

◆ getFunction()

Function * retdec::bin2llvmir::DataFlowEntry::getFunction ( ) const

◆ getValue()

Value * retdec::bin2llvmir::DataFlowEntry::getValue ( ) const

◆ hasBranches()

bool retdec::bin2llvmir::DataFlowEntry::hasBranches ( ) const

◆ hasDefinition()

bool retdec::bin2llvmir::DataFlowEntry::hasDefinition ( ) const

◆ isFullyDecoded()

bool retdec::bin2llvmir::DataFlowEntry::isFullyDecoded ( ) const

◆ isFunction()

bool retdec::bin2llvmir::DataFlowEntry::isFunction ( ) const

◆ isValue()

bool retdec::bin2llvmir::DataFlowEntry::isValue ( ) const

◆ numberOfCalls()

std::size_t retdec::bin2llvmir::DataFlowEntry::numberOfCalls ( ) const

◆ setCalledValue()

void retdec::bin2llvmir::DataFlowEntry::setCalledValue ( llvm::Value *  called)

◆ setIsFullyDecoded()

void retdec::bin2llvmir::DataFlowEntry::setIsFullyDecoded ( bool  res = true)

◆ storesOnRawStack()

bool retdec::bin2llvmir::DataFlowEntry::storesOnRawStack ( const Abi abi) const

Member Data Documentation

◆ _calledValue

llvm::Value* retdec::bin2llvmir::DataFlowEntry::_calledValue = nullptr
private

◆ _calls

std::vector<CallEntry> retdec::bin2llvmir::DataFlowEntry::_calls
private

◆ _decoded

bool retdec::bin2llvmir::DataFlowEntry::_decoded = true
private

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