ClearBlue
Public Types | Public Member Functions | Protected Attributes | Friends
SEGObject Class Referenceabstract
Inheritance diagram for SEGObject:
Inheritance graph
[legend]

Public Types

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
}
 

Public Member Functions

 SEGObject (SEGObjectKind OK, SymbolicExprGraph *SEG, BasicBlock *BB)
 
 SEGObject (PersistedSEGObject *Obj, SymbolicExprGraph *SEG)
 
virtual void assembleSEGObject (std::map< int, SEGObject * > &FuncSEGObjMap)=0
 Assemble the SEG object's related objects.
 
virtual Value * getLLVMDbgValue () const
 
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 SymbolicExprGraphgetParentGraph () const
 
SymbolicExprGraphgetParentGraph ()
 
virtual PersistedSEGObject * createPersistedObject () const =0
 
virtual void persistSEGData (PersistedSymbolicExprGraph *PersistedSEG)
 
bool isFromLibrary () const
 
virtual std::string getSrcFile () const
 
virtual std::int32_t getSrcLine () const
 
virtual std::string getAuxiliaryDebugStr () const
 

Protected Attributes

PersistedSEGObject * PersistedObj = nullptr
 the persistence object
 

Friends

raw_ostream & operator<< (llvm::raw_ostream &Out, const SEGObject &N)
 

Constructor & Destructor Documentation

◆ SEGObject()

SEGObject::SEGObject ( PersistedSEGObject *  Obj,
SymbolicExprGraph SEG 
)

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


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