36 #ifndef DISNCTMRGENERATOR_H_
37 #define DISNCTMRGENERATOR_H_
127 FunToPtsMap::const_iterator it =
funcToPtsMap.find(func);
128 assert(it !=
funcToPtsMap.end() &&
"can not find pts map for specified function");
virtual void getMRsForLoad(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *fun)
Get memory region at a load.
virtual void partitionMRs()
Partition regions.
virtual void getMRsForCallSiteRef(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *fun)
Get memory regions to be inserted at a load statement.
void createDistinctMR(const SVFFunction *func, const NodeBS &cpts)
Create memory regions for each points-to target.
DistinctMRG(BVDataPTAImpl *p, bool ptrOnly)
virtual void partitionMRs()
Partition regions.
InterDisjointMRG(BVDataPTAImpl *p, bool ptrOnly)
virtual void getMRsForLoad(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *)
void createDisjointMR(const SVFFunction *func, const NodeBS &cpts)
Create disjoint memory region.
OrderedMap< NodeBS, PointsToList > PtsToSubPtsMap
virtual void partitionMRs()
Partition regions.
Map< const SVFFunction *, PtsToSubPtsMap > FunToPtsMap
virtual void getMRsForCallSiteRef(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *fun)
Get memory regions to be inserted at a load statement.
void getMRsForLoadFromInterList(MRSet &mrs, const NodeBS &cpts, const PointsToList &inters)
PointsToList & getIntersList(const SVFFunction *func)
FunToInterMap funcToInterMap
const PtsToSubPtsMap & getPtsSubSetMap(const SVFFunction *func) const
Map< const SVFFunction *, PointsToList > FunToInterMap
void computeIntersections(const NodeBS &cpts, PointsToList &inters)
Compute intersections between cpts and computed cpts intersections before.
PtsToSubPtsMap & getPtsSubSetMap(const SVFFunction *func)
IntraDisjointMRG(BVDataPTAImpl *p, bool ptrOnly)
virtual void getMRsForLoad(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *fun)
OrderedSet< NodeBS, SVFUtil::equalNodeBS > PointsToList
OrderedSet< const MemRegion *, MemRegion::equalMemRegion > MRSet
Get typedef from Pointer Analysis.
std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map
std::map< Key, Value, Compare, Allocator > OrderedMap