43 _vmsizeUsageBefore(0),
63 if(SVFUtil::isa<ObjVar>(node))
90 unsigned nodeInCycle = 0;
iterator begin()
Iterators.
IDToNodeMapTy::iterator iterator
Node Iterators.
GEdgeSetTy::const_iterator const_iterator
CallInstSet & getDirectCalls()
void setMemUsageBefore(u32_t vmrss, u32_t vmsize)
void setMemUsageAfter(u32_t vmrss, u32_t vmsize)
NodeBS localVarInRecursion
PTAStat(PointerAnalysis *p)
void performStat() override
void callgraphStat() override
@ Cxt_DDA
context sensitive DDA
@ CFLFICI_WPA
Flow-, context-, insensitive CFL-reachability-based analysis.
@ FSCS_WPA
Flow-, context- sensitive WPA.
@ FSDATAFLOW_WPA
Traditional Dataflow-based flow sensitive WPA.
@ Andersen_BASE
Base Andersen PTA.
@ CFLFSCS_WPA
Flow-, context-, CFL-reachability-based analysis.
@ FieldS_DDA
Field sensitive DDA.
@ Steensgaard_WPA
Steensgaard PTA.
bool isLocalVarInRecursiveFun(NodeID id) const
Whether a local variable is in function recursions.
PTACallGraph * getCallGraph() const
Return call graph.
PTATY getAnalysisTy() const
Type of pointer analysis.
SCCDetection< PTACallGraph * > CallGraphSCC
NodeID getId() const
Get ID.
static SVFIR * getPAG(bool buildFromFile=false)
Singleton design here to make sure we only have one instance during any analysis.
virtual void printStat(std::string str="")
virtual void performStat()=0
bool getMemoryUsageKB(u32_t *vmrss_kb, u32_t *vmsize_kb)
Get memory usage from system file. Return TRUE if succeed.
llvm::IRBuilder IRBuilder