From f42d7b54c0656007812feccaddf823fbea658c32 Mon Sep 17 00:00:00 2001 From: Andrew Lenharth Date: Mon, 20 Jun 2005 15:24:23 +0000 Subject: [PATCH] make AliasAnalysis know that VAArg writes memory. This is extremely conservative and should be fixed llvm-svn: 22267 --- llvm/include/llvm/Analysis/AliasAnalysis.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/llvm/include/llvm/Analysis/AliasAnalysis.h b/llvm/include/llvm/Analysis/AliasAnalysis.h index c63d9908e22d..eff29719c72d 100644 --- a/llvm/include/llvm/Analysis/AliasAnalysis.h +++ b/llvm/include/llvm/Analysis/AliasAnalysis.h @@ -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);