|
int64_t | getSEGIndex () const |
|
template<class T > |
T * | getSEGObject (int64_t index) |
|
size_t | getNumCommonArgument () const |
|
size_t | getNumPseudoArgument () const |
|
size_t | getNumVarArgument () const |
|
size_t | getNumPseudoReturn () const |
|
bool | hasCommonReturnNode () const |
|
const SEGCommonReturnNode * | getCommonReturn () const |
|
const SEGPseudoReturnNode * | getPseudoReturn (size_t Index) const |
|
const SEGCommonArgumentNode * | getCommonArgument (size_t Index) const |
|
const SEGPseudoArgumentNode * | getPseudoArgument (size_t Index) const |
|
const SEGVarArgumentNode * | getVarArgument (size_t Index) const |
|
bool | isSummaryArgument (const SEGNodeBase *Node) const |
|
int | getSummaryArgumentAPDepth (const SEGNodeBase *Node) const |
|
std::unordered_set< SEGNodeBase * > * | getSummaryArgument (int APDepth) const |
|
bool | isSummaryReturn (const SEGNodeBase *Node) const |
|
int | getSummaryReturnAPDepth (const SEGNodeBase *Node) const |
|
std::unordered_set< SEGNodeBase * > * | getSummaryReturn (int APDepth) const |
|
bool | isDirectlyPassedToCaller (const SEGNodeBase *Node) const |
|
bool | isDirectlyPassedFromCaller (const SEGNodeBase *Node) const |
|
void | clearRegionNodeCache () |
|
| SymbolicExprGraph (Function *) |
|
Function * | getBaseFunc () const |
|
template<class SiteTy > |
SiteTy * | findSite (Instruction *I) const |
|
template<class SiteTy > |
SiteTy * | findSite (SEGValue *sValue) const |
| Get site node based on Value and specific comparison method. More...
|
|
SEGOperandNode * | findNode (Value *) const |
|
SEGOperandNode * | findNode (SEGValue *) const |
| Get operand node based on Value. More...
|
|
SEGRegionNode * | findUnitRegion (SEGNodeBase *cond_node, bool cond) const |
| Return nullptr if the node does not exist.
|
|
SEGRegionNode * | findAndRegion (SEGRegionNode *region1, SEGRegionNode *region2) const |
| Return nullptr if the node does not exist.
|
|
SEGRegionNode * | findOrRegion (SEGRegionNode *region1, SEGRegionNode *region2) const |
| Return nullptr if the node does not exist.
|
|
SEGRegionNode * | findNotRegion (SEGRegionNode *region1) const |
| Return nullptr if the node does not exist.
|
|
const std::set< CDGCond > * | getBlockCond (BasicBlock *BB) const |
|
void | dot (const char *FileName) const |
| Dot this graph to a file with filename.
|
|
void | dot (std::vector< const SEGNodeBase * > Srcs, const char *FileName) const |
| Dot value flow from the given source nodes.
|
|
void | validate () |
| validate this is a DAG
|
|
SEGRegionNode * | findOrCreateRegionForBB (BasicBlock *BB) |
|
SEGRegionNode * | findRegionForBB (BasicBlock *BB) const |
|
std::unordered_map< Value *, SEGOperandNode * >::const_iterator | value_node_begin () const |
|
std::unordered_map< Value *, SEGOperandNode * >::const_iterator | value_node_end () const |
|
std::vector< std::pair< Value *, SEGOperandNode * > >::const_iterator | value_node_pair_begin () const |
|
std::vector< std::pair< Value *, SEGOperandNode * > >::const_iterator | value_node_pair_end () const |
|
std::set< SEGNodeBase * >::const_iterator | non_value_node_begin () const |
|
std::set< SEGNodeBase * >::const_iterator | non_value_node_end () const |
|
std::map< Instruction *, SEGSiteBase * >::const_iterator | inst_site_begin () const |
|
std::map< Instruction *, SEGSiteBase * >::const_iterator | inst_site_end () const |
|
std::map< std::pair< Instruction *, Value * >, SEGStoreMemNode * >::const_iterator | store_mem_node_begin () const |
|
std::map< std::pair< Instruction *, Value * >, SEGStoreMemNode * >::const_iterator | store_mem_node_end () const |
|
std::map< Instruction *, SEGSiteBase * >::const_iterator | site_begin () const |
|
std::map< Instruction *, SEGSiteBase * >::const_iterator | site_end () const |
|
std::vector< SEGObject * >::const_iterator | node_begin () const |
|
std::vector< SEGObject * >::const_iterator | node_end () const |
|
ReturnIterator | return_begin () const |
|
ReturnIterator | return_end () const |
|
ReturnIterator | pseudo_return_begin () const |
|
ReturnIterator | pseudo_return_end () const |
|
ArgumentIterator | arg_begin () const |
|
ArgumentIterator | arg_end () const |
|
ArgumentIterator | common_arg_begin () const |
|
ArgumentIterator | common_arg_end () const |
|
ArgumentIterator | pseudo_arg_begin () const |
|
ArgumentIterator | pseudo_arg_end () const |
|
ArgumentIterator | var_arg_begin () const |
|
ArgumentIterator | var_arg_end () const |
|
SEGCallSiteIterator | seg_callsite_begin () const |
|
SEGCallSiteIterator | seg_callsite_end () const |
|