ClearBlue
|
#include <SEGPhiNode.h>
Data Structures | |
struct | IncomeNode |
Public Types | |
typedef std::vector< IncomeNode >::const_iterator | const_iterator |
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 } |
Public Member Functions | |
void | addIncomeValue (SEGNodeBase *InValue, BasicBlock *BB, SEGNodeBase *condValue, bool Cond) |
Add a incoming edge during construction. | |
std::pair< SEGNodeBase *, bool > | getInCond (size_t I) |
void | dot (raw_fd_ostream &O) const |
Dot its self to the given output stream. | |
bool | isTerminalNode () const |
const_iterator | begin () const |
const_iterator | end () const |
size_t | size () const |
bool | empty () const |
Public Member Functions inherited from SEGOperandNode | |
Value * | getLLVMValue () const |
SEGValue * | getSEGValue () 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 | |
Type * | getLLVMType () const |
get the type size of the node | |
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) |
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, bool fromDisk) | |
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 SymbolicExprGraph * | getParentGraph () const |
SymbolicExprGraph * | getParentGraph () |
Static Public Member Functions | |
static bool | classof (const SEGObject *O) |
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 | SEGSerializer |
class | SEGHash |
class | SymbolicExprGraph |
The class only can be initialized in the seg graph. | |
Additional Inherited Members | |
Protected Member Functions inherited from SEGOperandNode | |
SEGOperandNode (SEGObjectKind K, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB, bool fromDisk) | |
A node whose value which will be set to null. | |
SEGOperandNode (SEGObjectKind K, Value *Val, Type *Ty, SymbolicExprGraph *SEG, BasicBlock *BB, bool fromDisk) | |
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 SEGOperandNode | |
Value * | LLVMValue = nullptr |
SEGValue * | segValue = nullptr |
The phi node, The phi node has separate modeling in the seg.