Static Value-Flow Analysis
|
DiffPTData implemented with points-to sets which are updated continuously. More...
#include <MutablePointsToDS.h>
Public Types | |
typedef PTData< Key, KeySet, Data, DataSet > | BasePTData |
typedef DiffPTData< Key, KeySet, Data, DataSet > | BaseDiffPTData |
typedef BasePTData::PTDataTy | PTDataTy |
typedef MutablePTData< Key, KeySet, Data, DataSet >::PtsMap | PtsMap |
Public Types inherited from SVF::DiffPTData< Key, KeySet, Data, DataSet > | |
typedef PTData< Key, KeySet, Data, DataSet > | BasePTData |
typedef BasePTData::PTDataTy | PTDataTy |
Public Types inherited from SVF::PTData< Key, KeySet, Data, DataSet > | |
enum | PTDataTy { Base , MutBase , Diff , MutDiff , DataFlow , MutDataFlow , MutIncDataFlow , Versioned , MutVersioned , PersBase , PersDiff , PersDataFlow , PersIncDataFlow , PersVersioned } |
Types of a points-to data structures. More... | |
Static Public Member Functions | |
static bool | classof (const MutableDiffPTData< Key, KeySet, Data, DataSet > *) |
static bool | classof (const PTData< Key, KeySet, Data, DataSet > *ptd) |
Static Public Member Functions inherited from SVF::DiffPTData< Key, KeySet, Data, DataSet > | |
static bool | classof (const DiffPTData< Key, KeySet, Data, DataSet > *) |
static bool | classof (const PTData< Key, KeySet, Data, DataSet > *ptd) |
Protected Member Functions | |
DataSet & | getPropaPts (Key &var) |
Get propagated points to. | |
Private Attributes | |
MutablePTData< Key, KeySet, Data, DataSet > | mutPTData |
Backing to implement the basic PTData methods. This allows us to avoid multiple-inheritance. | |
PtsMap | diffPtsMap |
Diff points-to to be propagated. | |
PtsMap | propaPtsMap |
Points-to already propagated. | |
Additional Inherited Members | |
Protected Attributes inherited from SVF::PTData< Key, KeySet, Data, DataSet > | |
bool | rev |
Whether we maintain reverse points-to sets or not. | |
PTDataTy | ptdTy |
DiffPTData implemented with points-to sets which are updated continuously.
Definition at line 227 of file MutablePointsToDS.h.
typedef DiffPTData<Key, KeySet, Data, DataSet> SVF::MutableDiffPTData< Key, KeySet, Data, DataSet >::BaseDiffPTData |
Definition at line 231 of file MutablePointsToDS.h.
typedef PTData<Key, KeySet, Data, DataSet> SVF::MutableDiffPTData< Key, KeySet, Data, DataSet >::BasePTData |
Definition at line 230 of file MutablePointsToDS.h.
typedef BasePTData::PTDataTy SVF::MutableDiffPTData< Key, KeySet, Data, DataSet >::PTDataTy |
Definition at line 232 of file MutablePointsToDS.h.
typedef MutablePTData<Key,KeySet,Data,DataSet>::PtsMap SVF::MutableDiffPTData< Key, KeySet, Data, DataSet >::PtsMap |
Definition at line 234 of file MutablePointsToDS.h.
|
inlineexplicit |
Constructor.
Definition at line 237 of file MutablePointsToDS.h.
|
overridedefault |
|
inlineoverridevirtual |
Adds element to the points-to set associated with var.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 262 of file MutablePointsToDS.h.
|
inlinestatic |
Methods to support type inquiry through isa, cast, and dyn_cast:
Definition at line 335 of file MutablePointsToDS.h.
|
inlinestatic |
Definition at line 340 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Clears all points-to sets as if nothing is stored.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 246 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Fully clears the points-to set of var.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 282 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Clear propagated points-to set of var.
Implements SVF::DiffPTData< Key, KeySet, Data, DataSet >.
Definition at line 323 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Clears element from the points-to set of var.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 277 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Compute diff points to. Return TRUE if diff is not empty.
Clear diff pts.
Get all pts.
Implements SVF::DiffPTData< Key, KeySet, Data, DataSet >.
Definition at line 304 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Dump stored keys and points-to sets.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 294 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Returns a mapping of points-to sets to the number of times they are stored. liveOnly indicates whether to include only points-to sets which correspond to a variable (matters when dealing with non-GC persistent PT).
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 328 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Get diff points to.
Implements SVF::DiffPTData< Key, KeySet, Data, DataSet >.
Definition at line 299 of file MutablePointsToDS.h.
|
inlineprotected |
Get propagated points to.
Definition at line 348 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Get points-to set of var.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 251 of file MutablePointsToDS.h.
|
inlinevirtual |
Definition at line 241 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Get reverse points-to set of a datum.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 256 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Remaps all points-to sets to use the current mapping.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 287 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Performs pts(dstVar) = pts(dstVar) U srcDataSet.
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 272 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Performs pts(dstVar) = pts(dstVar) U pts(srcVar).
Implements SVF::PTData< Key, KeySet, Data, DataSet >.
Definition at line 267 of file MutablePointsToDS.h.
|
inlineoverridevirtual |
Update dst's propagated points-to set with src's. The final result is the intersection of these two sets.
Implements SVF::DiffPTData< Key, KeySet, Data, DataSet >.
Definition at line 316 of file MutablePointsToDS.h.
|
private |
Diff points-to to be propagated.
Definition at line 357 of file MutablePointsToDS.h.
|
private |
Backing to implement the basic PTData methods. This allows us to avoid multiple-inheritance.
Definition at line 355 of file MutablePointsToDS.h.
|
private |
Points-to already propagated.
Definition at line 359 of file MutablePointsToDS.h.