示例#1
0
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);
    }
}
示例#2
0
/*!
 * 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);
    }
}