ClearBlue
|
#include <SEGRegionNode.h>
Public Member Functions | |
bool | get_cond () const |
void | set_constraint (SEGRegionNode *region1, SEGRegionNode *region2, bool is_and) |
SEGNodeBase * | get_cond_node () const |
void | set_dbg_str (std::string str) |
std::string | get_dbg_str () const |
bool | is_satisfiable () const |
bool | is_always_satisfied () const |
bool | is_compound () const |
bool | is_interface_region () |
void | dump_clause () |
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) |
virtual bool | isTerminalNode () const |
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 | has_contradictory (kvec< SEGRegionNode * > ®ions, SEGRegionNode *additional_region=nullptr) |
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 | SymbolicExprGraph |
class | SEGSerializer |
class | SEGHash |
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 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 seg node denoting a region which represent the shared control dependence of a set of nodes. The region is valid when value_of(cond_node) == cond is satisfied There are two type of special regions: (1) cond_node == nullptr and cond == false : The region is a compound region derived from other regions (2) cond_node == nullptr and cond == true : The region is always satisfied
Note: cond_node may be an SEG Node in another SEG (i.e. another function)