ClearBlue
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends
SEGSiteBase Class Referenceabstract
Inheritance diagram for SEGSiteBase:
Inheritance graph
[legend]
Collaboration diagram for SEGSiteBase:
Collaboration graph
[legend]

Public Member Functions

 SEGSiteBase (PersistedSEGSiteBase *Site, SymbolicExprGraph *SEG)
 
virtual void assembleSEGObject (std::map< int, SEGObject * > &FuncSEGObjMap)
 Assemble the SEG object's related objects.
 
CallSite getLLVMCallSite () const
 
WrappedCallSite getWrappedLLVMCallSite () const
 
Instruction * getInstruction () const
 
WrappedInstruction * getWrappedInstruction () const
 
SEGValuegetSEGValue () const
 
virtual Value * getLLVMDbgValue () const override
 
virtual WrappedValue * getWrappedLLVMDbgValue () const override
 
virtual std::string getSrcFile () const
 
virtual std::int32_t getSrcLine () const
 
- Public Member Functions inherited from SEGObject
 SEGObject (SEGObjectKind OK, SymbolicExprGraph *SEG, BasicBlock *BB)
 
 SEGObject (PersistedSEGObject *Obj, SymbolicExprGraph *SEG)
 
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 SymbolicExprGraphgetParentGraph () const
 
SymbolicExprGraphgetParentGraph ()
 
virtual PersistedSEGObject * createPersistedObject () const =0
 
virtual void persistSEGData (PersistedSymbolicExprGraph *PersistedSEG)
 
bool isFromLibrary () const
 
virtual std::string getAuxiliaryDebugStr () const
 

Static Public Member Functions

static bool classof (const SEGObject *O)
 

Protected Member Functions

 SEGSiteBase (SEGObjectKind K, Instruction *User, SymbolicExprGraph *G)
 

Friends

class SymbolicExprGraph
 
raw_ostream & operator<< (llvm::raw_ostream &Out, const SEGSiteBase &US)
 

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 SEGObject
PersistedSEGObject * PersistedObj = nullptr
 the persistence object
 

Constructor & Destructor Documentation

◆ SEGSiteBase()

SEGSiteBase::SEGSiteBase ( PersistedSEGSiteBase *  Site,
SymbolicExprGraph SEG 
)

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


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