39using namespace SVFUtil;
231 if(SVFUtil::isa<ObjVar>(
pagNode))
279 SVFUtil::outs() <<
"---------------------Stat Per Query--------------------------------\n";
308 SVFUtil::outs() <<
"\n****Demand-Driven Pointer Analysis Statistics****\n";
const PointsTo & getPts(NodeID id) override
virtual PointsTo getBVPointsTo(const CPtSet &cpts) const
Given a conditional pts return its bit vector points-to.
virtual const CPtSet & getPts(CVar id)
ConstSVFGEdgeSet & getInsensitiveEdgeSet()
Return insensitive edge set.
void performStatPerQuery(NodeID ptr) override
u32_t _TotalNumOfInfeasiblePath
u32_t _TotalNumOfOutOfBudgetQuery
double _AvgNumOfDPMAtSVFGNode
u32_t _TotalNumOfMustAliases
PointerAnalysis * getPTA() const
u32_t _NumOfStrongUpdates
u32_t _NumOfInfeasiblePath
void performStat() override
u32_t _TotalNumOfStrongUpdates
u32_t _MaxNumOfDPMAtSVFGNode
NUMStatMap NumPerQueryStatMap
double _TotalTimeOfBKCondition
double _AnaTimeCyclePerQuery
double _TotalTimeOfQueries
u32_t _TotalNumOfStepInCycle
NodeBS _StrongUpdateStores
u32_t _NumOfIndCallEdgeSolved
void printStatPerQuery(NodeID ptr, const PointsTo &pts) override
void printStat(std::string str="") override
const LocToDPMVecMap & getLocToDPMVecMap() const
Map a SVFGNode to its dpms for handling value-flow cycles.
DPTItemSet outOfBudgetDpms
out of budget dpm set
SVFG * getSVFG() const
Return SVFG.
OrderedSet< const SVFGEdge * > ConstSVFGEdgeSet
IDToNodeMapTy::const_iterator const_iterator
NodeBS localVarInRecursion
void callgraphStat() override
virtual void dumpPts(NodeID ptr, const PointsTo &pts)
u32_t getNumOfResolvedIndCallEdge() const
Return number of resolved indirect call edges.
u32_t count() const
Returns number of elements.
virtual void performSCCStat(SVFGEdgeSet insensitiveCalRetEdges)
SVFGStat * getStat() const
Return statistics.
SVFStmt::SVFStmtSetTy & getPTASVFStmtSet(SVFStmt::PEDGEK kind)
Get PTA edges set according to its kind.
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="")
std::ostream & outs()
Overwrite llvm::outs()
llvm::IRBuilder IRBuilder