[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