ClearBlue
|
Public Member Functions | |
SEGArgumentNode (PersistedSEGArgumentNode *Node, SymbolicExprGraph *SEG) | |
virtual void | assembleSEGObject (std::map< int, SEGObject * > &FuncSEGObjMap) |
Assemble the SEG object's related objects. More... | |
virtual size_t | getIndex () const =0 |
Public Member Functions inherited from SEGOperandNode | |
SEGOperandNode (PersistedSEGOperandNode *Node, SymbolicExprGraph *SEG) | |
Value * | getLLVMValue () const |
SEGValue * | getSEGValue () const |
WrappedValue * | getWrappedLLVMValue () const |
void | dot (raw_fd_ostream &O) const override |
Dot its self to the given output stream. | |
virtual Value * | getLLVMDbgValue () const override |
virtual std::int32_t | getSrcLine () const |
Public Member Functions inherited from SEGNodeBase | |
SEGNodeBase (PersistedSEGNodeBase *Node, SymbolicExprGraph *SEG) | |
Type * | getLLVMType () const |
get the type size of the node | |
uint64_t | getTypeSize () const |
get the type size of the node | |
bool | isVectorTy () const |
check whether LLVMType is vector type | |
bool | isPointerTy () const |
bool | isSized () const |
bool | isStructTy () const |
SEGType * | getSEGType () const |
unsigned | getVectorNumElements () const |
check the number of elements in LLVMType | |
SEGNodeBase * | getChild (unsigned I) const |
float | getConfidence (const SEGNodeBase *ParentNode) const |
unsigned | getNumChildren () const |
unsigned | getNumParents () const |
void | addChild (SEGNodeBase *N, float Confidence=1.0f) |
void | eraseAllChildren () |
void | addUseSite (SEGSiteBase *U) |
virtual bool | isTerminalNode () const |
SEGRegionNode * | getRegion () const |
bool | containsParentNode (const SEGNodeBase *N) const |
const std::string & | getDescription () const |
ValueFlowIterator | vflow_begin () const |
ValueFlowIterator | vflow_end () const |
key_iterator< std::map< const SEGNodeBase *, float >::const_iterator > | parent_begin () const |
key_iterator< std::map< const SEGNodeBase *, float >::const_iterator > | parent_end () const |
iterator_range< std::map< const SEGNodeBase *, float >::const_iterator > | parents () const |
std::vector< SEGNodeBase * >::const_iterator | child_begin () const |
std::vector< SEGNodeBase * >::const_iterator | child_end () const |
iterator_range< std::vector< SEGNodeBase * >::const_iterator > | children () const |
std::map< const SEGNodeBase *, float >::const_iterator | parent_confidence_begin () const |
std::map< const SEGNodeBase *, float >::const_iterator | parent_confidence_end () const |
size_t | child_size () const |
size_t | parent_size () const |
std::vector< SEGSiteBase * >::const_iterator | use_site_begin () const |
std::vector< SEGSiteBase * >::const_iterator | use_site_end () const |
iterator_range< std::vector< SEGSiteBase * >::const_iterator > | use_sites () |
size_t | use_site_size () const |
Public Member Functions inherited from SEGObject | |
SEGObject (SEGObjectKind OK, SymbolicExprGraph *SEG, BasicBlock *BB) | |
SEGObject (PersistedSEGObject *Obj, SymbolicExprGraph *SEG) | |
virtual WrappedValue * | getWrappedLLVMDbgValue () const |
virtual Instruction * | getLLVMDbgInstruction () const |
virtual WrappedInstruction * | getWrappedLLVMDbgInstruction () const |
SEGObjectKind | getKind () const |
int | getSEGIndex () const |
int | getObjIndex () const |
const char * | getKindName () const |
BasicBlock * | getParentBasicBlock () const |
WrappedBasicBlock * | getWrappedParentBasicBlock () const |
Function * | getParentFunction () const |
const SymbolicExprGraph * | getParentGraph () const |
SymbolicExprGraph * | getParentGraph () |
virtual PersistedSEGObject * | createPersistedObject () const =0 |
virtual void | persistSEGData (PersistedSymbolicExprGraph *PersistedSEG) |
bool | isFromLibrary () const |
virtual std::string | getSrcFile () const |
virtual std::string | getAuxiliaryDebugStr () const |
Static Public Member Functions | |
static bool | classof (const SEGObject *N) |
Static Public Member Functions inherited from SEGOperandNode | |
static bool | classof (const SEGObject *N) |
Static Public Member Functions inherited from SEGNodeBase | |
static bool | classof (const SEGObject *N) |
Protected Member Functions | |
SEGArgumentNode (SEGObjectKind NTy, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB) | |
SEGArgumentNode (SEGObjectKind NTy, Value *Val, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB) | |
Protected Member Functions inherited from SEGOperandNode | |
SEGOperandNode (SEGObjectKind K, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB) | |
A node whose value which will be set to null. | |
SEGOperandNode (SEGObjectKind K, Value *Val, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB) | |
Protected Member Functions inherited from SEGNodeBase | |
SEGNodeBase (SEGObjectKind K, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB) | |
void | setDescription (std::string &Desc) |
Friends | |
class | SymbolicExprGraph |
Additional Inherited Members | |
Public Types inherited from SEGObject | |
enum | SEGObjectKind { SEGOBJK_NodeBegin, SEGOBJK_OperandBegin, SEGOBJK_ArgumentBegin, SEGOBJK_CommonArgument, SEGOBJK_VarArgument, SEGOBJK_PseudoArgument, SEGOBJK_ArgumentEnd, SEGOBJK_CallSiteOutputBegin, SEGOBJK_CallSiteCommonOutput, SEGOBJK_CallSitePseudoOutput, SEGOBJK_CallSiteOutputEnd, SEGOBJK_ReturnBegin, SEGOBJK_CommonReturn, SEGOBJK_PseudoReturn, SEGOBJK_ReturnEnd, SEGOBJK_LoadMem, SEGOBJK_StoreMem, SEGOBJK_Phi, SEGOBJK_Region, SEGOBJK_SimpleOperand, SEGOBJK_Undef, SEGOBJK_CallSitePseudoInput, SEGOBJK_CallSiteSummaryArgument, SEGOBJK_CallSiteSummaryReturn, SEGOBJK_OperandEnd, SEGOBJK_OpcodeBegin, SEGOBJK_BinaryWithIntConst, SEGOBJK_Cast, SEGOBJK_SimpleOpcode, SEGOBJK_OpcodeEnd, SEGOBJK_NodeEnd, SEGOBJK_SiteBegin, SEGOBJK_CallSite, SEGOBJK_ReturnSite, SEGOBJK_SimpleSiteBegin, SEGOBJK_GEPSite, SEGOBJK_DereferenceSite, SEGOBJK_DivSite, SEGOBJK_CmpSite, SEGOBJK_AllocSite, SEGOBJK_SimpleSiteEnd, SEGOBJK_SiteEnd } |
Protected Attributes inherited from SEGOperandNode | |
Value * | LLVMValue = nullptr |
SEGValue * | segValue = nullptr |
WrappedValue * | WrappedLLVMValue = nullptr |
Protected Attributes inherited from SEGObject | |
PersistedSEGObject * | PersistedObj = nullptr |
the persistence object | |
|
inline |
A constructor specially designed for persistence Use the persistence obj to initialize SEGArgumentNode
|
inlinevirtual |
Assemble the SEG object's related objects.
initialize the children and parents
initialize the use sites
initialize the region
Reimplemented from SEGOperandNode.
Reimplemented in SEGPseudoArgumentNode, SEGVarArgumentNode, and SEGCommonArgumentNode.