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

Public Member Functions

virtual void dot (raw_fd_ostream &O) const
 Dot its self to the given output stream.
 
uint64_t getOriginSize () const
 
uint64_t getTargetSize () const
 
- Public Member Functions inherited from SEGOpcodeNode
CodeKind getOpcode () const
 
bool isCmpNode () const
 
bool isSignedCmp () const
 
bool isUnSignedCmp () const
 
bool isFloatCmp () const
 
bool isAddNode () const
 
bool isSubNode () const
 
bool isGEPNode () const
 
bool isSelectNode () const
 
bool isCastNode () const
 
bool isBinaryNode () const
 
bool isExtractElmtNode () const
 
bool isInsertElmtNode () const
 
bool isConcatNode () const
 
- Public Member Functions inherited from SEGNodeBase
Type * getLLVMType () const
 get the type size of the node
 
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, bool fromDisk)
 
virtual Value * getLLVMDbgValue () const
 
virtual Instruction * getLLVMDbgInstruction () const
 
SEGObjectKind getKind () const
 
int64_t getSEGIndex () const
 
void setObjIndex (int64_t index)
 
int64_t getObjIndex () const
 
const char * getKindName () const
 
BasicBlock * getParentBasicBlock () const
 
Function * getParentFunction () const
 
const SymbolicExprGraphgetParentGraph () const
 
SymbolicExprGraphgetParentGraph ()
 

Static Public Member Functions

static bool classof (const SEGObject *N)
 
- Static Public Member Functions inherited from SEGOpcodeNode
static bool classof (const SEGObject *N)
 
static const char * getOpcodeName (CodeKind CK)
 
- Static Public Member Functions inherited from SEGNodeBase
static bool classof (const SEGObject *N)
 

Friends

class SymbolicExprGraph
 

Additional Inherited Members

- Public Types inherited from SEGOpcodeNode
enum  CodeKind {
  CK_BinaryBegin, CK_URem = CK_BinaryBegin, CK_FRem, CK_SRem,
  CK_UDiv, CK_FDiv, CK_SDiv, CK_And,
  CK_Or, CK_Xor, CK_Add, CK_FAdd,
  CK_Sub, CK_FSub, CK_Mul, CK_FMul,
  CK_Shl, CK_LShr, CK_AShr, CK_BinaryEnd = CK_AShr,
  CK_CastBegin, CK_AddressCast = CK_CastBegin, CK_Int2Ptr, CK_Ptr2Int,
  CK_Bitcast, CK_Trunc, CK_FPTrunc, CK_SExt,
  CK_ZExt, CK_FPExt, CK_SI2FP, CK_FP2SI,
  CK_UI2FP, CK_FP2UI, CK_CastEnd = CK_FP2UI, CK_ExtractElmt,
  CK_InsertElmt, CK_Select, CK_GetElmtPtr, CK_Concat,
  CK_CmpBegin, CK_FFalse = CK_CmpBegin, CK_FOEq, CK_FOGT,
  CK_FOGE, CK_FOLT, CK_FOLE, CK_FONE,
  CK_FOrd, CK_FUno, CK_FUEq, CK_FUGT,
  CK_FUGE, CK_FULT, CK_FULE, CK_FUNE,
  CK_FTrue, CK_IEq, CK_INE, CK_IUGT,
  CK_IUGE, CK_IULT, CK_IULE, CK_ISGT,
  CK_ISGE, CK_ISLT, CK_ISLE, CK_CmpEnd = CK_ISLE,
  CK_InvalidCode
}
 
- 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 SEGOpcodeNode
 SEGOpcodeNode (SEGObjectKind K, CodeKind Opcode, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB, bool fromDisk)
 This constructor will set the field Inst as nullptr.
 
- Protected Member Functions inherited from SEGNodeBase
 SEGNodeBase (SEGObjectKind K, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB, bool fromDisk)
 
void setDescription (std::string &Desc)
 
- Protected Attributes inherited from SEGOpcodeNode
CodeKind Opcode
 

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