[llvm-commits] CVS: llvm/lib/Analysis/AliasAnalysis.cpp

Chris Lattner lattner at cs.uiuc.edu
Wed Mar 23 15:27:14 PST 2005



Changes in directory llvm/lib/Analysis:

AliasAnalysis.cpp updated: 1.24 -> 1.25
---
Log message:

Make this more efficient by only making one virtual method call.


---
Diffs of the changes:  (+6 -4)

 AliasAnalysis.cpp |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)


Index: llvm/lib/Analysis/AliasAnalysis.cpp
diff -u llvm/lib/Analysis/AliasAnalysis.cpp:1.24 llvm/lib/Analysis/AliasAnalysis.cpp:1.25
--- llvm/lib/Analysis/AliasAnalysis.cpp:1.24	Wed Mar 23 16:06:41 2005
+++ llvm/lib/Analysis/AliasAnalysis.cpp	Wed Mar 23 17:26:58 2005
@@ -114,11 +114,13 @@
 AliasAnalysis::ModRefResult
 AliasAnalysis::getModRefInfo(CallSite CS, Value *P, unsigned Size) {
   ModRefResult Mask = ModRef;
-  if (Function *F = CS.getCalledFunction())
-    if (onlyReadsMemory(F)) {
-      if (doesNotAccessMemory(F)) return NoModRef;
+  if (Function *F = CS.getCalledFunction()) {
+    ModRefBehavior MRB = getModRefBehavior(F, CallSite());
+    if (MRB == OnlyReadsMemory)
       Mask = Ref;
-    }
+    else if (MRB == DoesNotAccessMemory)
+      return NoModRef;
+  }
 
   if (!AA) return Mask;
 






More information about the llvm-commits mailing list