ClearBlue
Public Member Functions | Static Public Member Functions | Friends
SEGCallSitePseudoOutputNode Class Reference
Inheritance diagram for SEGCallSitePseudoOutputNode:
Inheritance graph
[legend]
Collaboration diagram for SEGCallSitePseudoOutputNode:
Collaboration graph
[legend]

Public Member Functions

 SEGCallSitePseudoOutputNode (PersistedSEGCallSitePseudoOutputNode *Node, SymbolicExprGraph *SEG)
 
virtual void assembleSEGObject (std::map< int, SEGObject * > &FuncSEGObjMap)
 Assemble the SEG object's related objects. More...
 
virtual PersistedSEGObject * createPersistedObject () const
 
virtual size_t getIndex () const
 
const CBAccessPathgetAccessPath () const
 
CBAccessPathgetAccessPath ()
 
Function * getCallee () const
 
WrappedFunction * getWrappedCallee () const
 
- Public Member Functions inherited from SEGCallSiteOutputNode
 SEGCallSiteOutputNode (PersistedSEGCallSiteOutputNode *Node, SymbolicExprGraph *SEG)
 
virtual Instruction * getLLVMDbgInstruction () const override
 
const SEGCallSitegetCallSite () const
 
virtual std::string getSrcFile () const
 
virtual std::int32_t getSrcLine () const
 
- Public Member Functions inherited from SEGOperandNode
 SEGOperandNode (PersistedSEGOperandNode *Node, SymbolicExprGraph *SEG)
 
Value * getLLVMValue () const
 
SEGValuegetSEGValue () 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
 
- 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
 
SEGNodeBasegetChild (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
 
SEGRegionNodegetRegion () 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 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 SymbolicExprGraphgetParentGraph () const
 
SymbolicExprGraphgetParentGraph ()
 
virtual void persistSEGData (PersistedSymbolicExprGraph *PersistedSEG)
 
bool isFromLibrary () const
 
virtual std::string getAuxiliaryDebugStr () const
 

Static Public Member Functions

static bool classof (const SEGObject *N)
 
- Static Public Member Functions inherited from SEGCallSiteOutputNode
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)
 

Friends

class SymbolicExprGraph
 
class SEGCallSite
 

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 Member Functions inherited from SEGCallSiteOutputNode
 SEGCallSiteOutputNode (SEGObjectKind, SEGCallSite *CS, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB)
 
 SEGCallSiteOutputNode (SEGObjectKind, SEGCallSite *CS, 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)
 
- Protected Attributes inherited from SEGCallSiteOutputNode
SEGCallSiteSEGCS
 
- Protected Attributes inherited from SEGOperandNode
Value * LLVMValue = nullptr
 
SEGValuesegValue = nullptr
 
WrappedValue * WrappedLLVMValue = nullptr
 
- Protected Attributes inherited from SEGObject
PersistedSEGObject * PersistedObj = nullptr
 the persistence object
 

Constructor & Destructor Documentation

◆ SEGCallSitePseudoOutputNode()

SEGCallSitePseudoOutputNode::SEGCallSitePseudoOutputNode ( PersistedSEGCallSitePseudoOutputNode *  Node,
SymbolicExprGraph SEG 
)

A constructor specially designed for persistence Use the persistence obj to initialize SEGCallSitePseudoOutputNode

Member Function Documentation

◆ assembleSEGObject()

virtual void SEGCallSitePseudoOutputNode::assembleSEGObject ( std::map< int, SEGObject * > &  FuncSEGObjMap)
inlinevirtual

Assemble the SEG object's related objects.

initialize the children and parents

initialize the use sites

initialize the region

Reimplemented from SEGCallSiteOutputNode.

Here is the call graph for this function:

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