31#ifndef FLOWSENSITIVESTAT_H_
32#define FLOWSENSITIVESTAT_H_
static const char * CollapseTime
void constraintGraphStat()
virtual void performStat()
static u32_t _NumOfCycles
static u32_t _NumOfNodesInCycles
static u32_t _MaxNumOfNodesInSCC
void collectCycleInfo(ConstraintGraph *consCG)
static u32_t _NumOfPWCCycles
void calculateAddrVarPts(NodeID pointer, const SVFGNode *node)
u32_t _NumOfActualInSVFGNodesHaveInOut[2]
virtual void performStat()
double _AvgPtsSize
average points-to set size.
double _AvgAddrTakenVarPtsSize
average points-to set size of addr-taken variables.
u32_t _PotentialNumOfVarHaveINOUTPts[2]
u32_t _NumOfVarHaveINOUTPtsInFormalOut[2]
FlowSensitive::PtsMap PtsMap
u32_t _NumOfFormalOutSVFGNodesHaveInOut[2]
u32_t _NumOfVarHaveEmptyINOUTPts[2]
u32_t _NumOfVarHaveINOUTPtsInStore[2]
FlowSensitiveStat(FlowSensitive *pta)
u32_t _NumOfFormalInSVFGNodesHaveInOut[2]
virtual ~FlowSensitiveStat()
double _AvgTopLvlPtsSize
average points-to set size in top-level pointers.
u32_t _NumOfActualOutSVFGNodesHaveInOut[2]
u32_t _NumOfVarHaveINOUTPtsInActualIn[2]
FlowSensitive::DFInOutMap DFInOutMap
u32_t _NumOfMSSAPhiSVFGNodesHaveInOut[2]
u32_t _MaxPtsSize
sizes of points-to set
u32_t _MaxAddrTakenVarPts
max points-to set size of addr-taken variables.
void statAddrVarPtsSize()
void statInOutPtsSize(const DFInOutMap &data, ENUM_INOUT inOrOut)
u32_t _TotalPtsSize
total points-to set size.
u32_t _NumOfVarHaveINOUTPtsInMSSAPhi[2]
u32_t _NumOfSVFGNodesHaveInOut[2]
number of SVFG nodes which have IN/OUT set.
u32_t _NumOfVarHaveINOUTPtsInLoad[2]
u32_t _MaxInOutPtsSize[2]
max points-to set size in IN/OUT set.
u32_t _NumOfVarHaveINOUTPts[2]
number of pag nodes which have points-to set in IN/OUT set.
u32_t _NumOfLoadSVFGNodesHaveInOut[2]
u32_t _NumOfVarHaveINOUTPtsInActualOut[2]
u32_t _NumOfVarHaveINOUTPtsInFormalIn[2]
u32_t _NumOfStoreSVFGNodesHaveInOut[2]
u32_t _NumOfAddrTakeVar
number of occurrences of addr-taken variables in load/store.
u32_t _MaxTopLvlPtsSize
max points-to set size in top-level pointers.
double _AvgInOutPtsSize[2]
average points-to set size in IN set.
BVDataPTAImpl::MutDFPTDataTy::PtsMap PtsMap
BVDataPTAImpl::MutDFPTDataTy::DFPtsMap DFInOutMap
VersionedFlowSensitive * vfspta
double _AvgVersionPtsSize
Average points-to set size for address-taken objects.
u32_t _NumSingleVersion
Number of objects which have a single version.
virtual ~VersionedFlowSensitiveStat()
u32_t _NumEmptyVersions
Number of versions with empty points-to sets (actually empty, not never-accessed).
u32_t _NumNonEmptyVersions
Number of versions with non-empty points-to sets (since versioning is over-approximate).
u32_t _TotalPtsSize
Total of points-to set sizes for calculating averages.
double _AvgPtsSize
Average size across all points-to sets.
VersionedFlowSensitiveStat(VersionedFlowSensitive *pta)
u32_t _NumVersions
Total number of versions across all objects.
double _AvgTopLvlPtsSize
Average points-to set size for top-level pointers.
u32_t _MaxVersionPtsSize
Max address-taken points-to set size.
u32_t _MaxPtsSize
Largest PTS size.
u32_t _MaxVersions
Most versions for a single object.
u32_t _MaxTopLvlPtsSize
Max points-to set size in top-level pointers.
u32_t _NumUsedVersions
Number of version PTSs actually used (sum of next two fields).
void ptsSizeStat(void)
For all PTS size related statistics not handled by versionStat.
void versionStat(void)
For all version-related statistics.
virtual void performStat()
llvm::IRBuilder IRBuilder