void MRGenerator::getGlobalsAndHeapFromPts(NodeBS& globs, const NodeBS& pts) { for(NodeBS::iterator it = pts.begin(), eit = pts.end(); it!=eit; ++it) { const MemObj* obj = pta->getPAG()->getObject(*it); assert(obj && "object not found!!"); if(obj->isGlobalObj() || obj->isHeap()) globs.set(*it); } }
/*! * Add indirect def an memory object in the function */ void MRGenerator::addModSideEffectOfFunction(const llvm::Function* fun, const NodeBS& mods) { for(NodeBS::iterator it = mods.begin(), eit = mods.end(); it!=eit; ++it) { if(isNonLocalObject(*it,fun)) funToModsMap[fun].set(*it); } }