make AliasAnalysis know that VAArg writes memory. This is extremely conservative...
authorAndrew Lenharth <andrewl@lenharth.org>
Mon, 20 Jun 2005 15:24:23 +0000 (15:24 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Mon, 20 Jun 2005 15:24:23 +0000 (15:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22267 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/AliasAnalysis.h

index c63d9908e22d24d7444815921f602d86a69bfd7a..eff29719c72dfc534b16fdb739f2a6520f3376b7 100644 (file)
@@ -37,6 +37,7 @@ namespace llvm {
 
 class LoadInst;
 class StoreInst;
+class VAArgInst;
 class TargetData;
 
 class AliasAnalysis {
@@ -254,8 +255,12 @@ public:
   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);