mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-13 08:26:02 +00:00
Make this more efficient by only making one virtual method call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20793 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -114,10 +114,12 @@ AliasAnalysis::getModRefInfo(StoreInst *S, Value *P, unsigned Size) {
|
|||||||
AliasAnalysis::ModRefResult
|
AliasAnalysis::ModRefResult
|
||||||
AliasAnalysis::getModRefInfo(CallSite CS, Value *P, unsigned Size) {
|
AliasAnalysis::getModRefInfo(CallSite CS, Value *P, unsigned Size) {
|
||||||
ModRefResult Mask = ModRef;
|
ModRefResult Mask = ModRef;
|
||||||
if (Function *F = CS.getCalledFunction())
|
if (Function *F = CS.getCalledFunction()) {
|
||||||
if (onlyReadsMemory(F)) {
|
ModRefBehavior MRB = getModRefBehavior(F, CallSite());
|
||||||
if (doesNotAccessMemory(F)) return NoModRef;
|
if (MRB == OnlyReadsMemory)
|
||||||
Mask = Ref;
|
Mask = Ref;
|
||||||
|
else if (MRB == DoesNotAccessMemory)
|
||||||
|
return NoModRef;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!AA) return Mask;
|
if (!AA) return Mask;
|
||||||
|
Reference in New Issue
Block a user