bool AliasSet::aliasesCallSite(CallSite CS, AliasAnalysis &AA) const { if (AA.doesNotAccessMemory(CS)) return false; for (unsigned i = 0, e = CallSites.size(); i != e; ++i) { if (AA.getModRefInfo(getCallSite(i), CS) != AliasAnalysis::NoModRef || AA.getModRefInfo(CS, getCallSite(i)) != AliasAnalysis::NoModRef) return true; } for (iterator I = begin(), E = end(); I != E; ++I) if (AA.getModRefInfo(CS, I.getPointer(), I.getSize()) != AliasAnalysis::NoModRef) return true; return false; }
bool AliasSet::aliasesCallSite(CallSite CS, AliasAnalysis &AA) const { if (Function *F = CS.getCalledFunction()) if (AA.doesNotAccessMemory(F)) return false; if (AA.hasNoModRefInfoForCalls()) return true; for (unsigned i = 0, e = CallSites.size(); i != e; ++i) if (AA.getModRefInfo(CallSites[i], CS) != AliasAnalysis::NoModRef || AA.getModRefInfo(CS, CallSites[i]) != AliasAnalysis::NoModRef) return true; for (iterator I = begin(), E = end(); I != E; ++I) if (AA.getModRefInfo(CS, I.getPointer(), I.getSize()) != AliasAnalysis::NoModRef) return true; return false; }