[llvm-commits] CVS: llvm/include/llvm/Analysis/AliasAnalysis.h

Andrew Lenharth alenhar2 at cs.uiuc.edu
Mon Jun 20 08:24:35 PDT 2005



Changes in directory llvm/include/llvm/Analysis:

AliasAnalysis.h updated: 1.21 -> 1.22
---
Log message:

make AliasAnalysis know that VAArg writes memory.  This is extremely conservative and should be fixed

---
Diffs of the changes:  (+5 -0)

 AliasAnalysis.h |    5 +++++
 1 files changed, 5 insertions(+)


Index: llvm/include/llvm/Analysis/AliasAnalysis.h
diff -u llvm/include/llvm/Analysis/AliasAnalysis.h:1.21 llvm/include/llvm/Analysis/AliasAnalysis.h:1.22
--- llvm/include/llvm/Analysis/AliasAnalysis.h:1.21	Thu Apr 21 15:16:31 2005
+++ llvm/include/llvm/Analysis/AliasAnalysis.h	Mon Jun 20 10:24:23 2005
@@ -37,6 +37,7 @@
 
 class LoadInst;
 class StoreInst;
+class VAArgInst;
 class TargetData;
 
 class AliasAnalysis {
@@ -254,8 +255,12 @@
   ModRefResult getModRefInfo(InvokeInst *I, Value *P, unsigned Size) {
     return getModRefInfo(CallSite(I), P, Size);
   }
+  ModRefResult getModRefInfo(VAArgInst* I, Value* P, unsigned Size) {
+    return AliasAnalysis::Mod;
+  }
   ModRefResult getModRefInfo(Instruction *I, Value *P, unsigned Size) {
     switch (I->getOpcode()) {
+    case Instruction::VAArg:  return getModRefInfo((VAArgInst*)I, P, Size);
     case Instruction::Load:   return getModRefInfo((LoadInst*)I, P, Size);
     case Instruction::Store:  return getModRefInfo((StoreInst*)I, P, Size);
     case Instruction::Call:   return getModRefInfo((CallInst*)I, P, Size);






More information about the llvm-commits mailing list