33using namespace SVFUtil;
79 if(SVFUtil::isa<StoreStmt>(
stmtNode->getPAGEdge()))
87 if ((*it2)->isIndirectVFGEdge())
#define DBOUT(TYPE, X)
LLVM debug macros, define type of your DBUG model of each pass.
virtual void rmIncomingEdgeForSUStore(BVDataPTAImpl *pta)
virtual void buildSVFG()
Re-write create SVFG method.
IDToNodeMapTy::iterator iterator
Node Iterators.
BVDataPTAImpl * getPTA() const
Return PTA.
bool printStat()
Whether print statistics.
PTACallGraph * getCallGraph() const
Return call graph.
std::unique_ptr< SVFG > svfg
bool isStrongUpdate(const SVFGNode *node, NodeID &singleton, BVDataPTAImpl *pta)
Return TRUE if this is a strong update STORE statement.
void collectGlobals(BVDataPTAImpl *pta)
virtual void AddExtActualParmSVFGNodes(PTACallGraph *callgraph)
Add actual parameter SVFGNode for 1st argument of a deallocation like external function.
void rmDerefDirSVFGEdges(BVDataPTAImpl *pta)
VFGEdge::VFGEdgeSetTy::const_iterator const_iterator
std::string pasMsg(const std::string &msg)
Print each pass/phase message by converting a string into blue string output.
std::ostream & outs()
Overwrite llvm::outs()
llvm::IRBuilder IRBuilder