129 for(PointsToList::iterator
cit =
it->second.begin(),
ecit =
it->second.end();
140 for (PointsToList::const_iterator
interIt = inters.begin(),
interEit = inters.end();
154 if (inters.find(cpts) != inters.end())
159 else if (cpts.
count() == 1)
174 for (PointsToList::const_iterator
interIt = inters.begin(),
interEit = inters.end();
243 PointsToList::const_iterator
it = inters.begin();
244 PointsToList::const_iterator
eit = inters.end();
275 for(PointsToList::iterator
cit =
it->second.begin(),
ecit =
it->second.end();
290 for(PointsToList::iterator
cit =
it->second.begin(),
ecit =
it->second.end();
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.
virtual void partitionMRs()
Partition regions.
void createDisjointMR(const SVFFunction *func, const NodeBS &cpts)
Create disjoint memory region.
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 getMRsForLoadFromInterList(MRSet &mrs, const NodeBS &cpts, const PointsToList &inters)
void computeIntersections(const NodeBS &cpts, PointsToList &inters)
Compute intersections between cpts and computed cpts intersections before.
virtual void getMRsForLoad(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *fun)
PointsToList & getIntersList(const SVFFunction *func)
FunToPointsTosMap & getFunToPointsToList()
OrderedSet< NodeBS, SVFUtil::equalNodeBS > PointsToList
OrderedSet< const MemRegion *, MemRegion::equalMemRegion > MRSet
Get typedef from Pointer Analysis.
PtsToRepPtsSetMap cptsToRepCPtsMap
Map a condition pts to its rep conditional pts (super set points-to)
void createMR(const SVFFunction *fun, const NodeBS &cpts)
Generate a memory region and put in into functions which use it.
MRSet memRegSet
A set of All memory regions.
bool intersectWithComplement(const SparseBitVector &RHS)
bool contains(const SparseBitVector< ElementSize > &RHS) const
llvm::IRBuilder IRBuilder