aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2005-06-20 15:24:23 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2005-06-20 15:24:23 +0000
commit14f1703ae33e13dbcadd701603fd4d7a6f7010b9 (patch)
tree28f04364672033573e66265510f57989dc145640
parente3e1739b7dfbc366dcf0bde1548086d172968a1a (diff)
make AliasAnalysis know that VAArg writes memory. This is extremely conservative and should be fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22267 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Analysis/AliasAnalysis.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/Analysis/AliasAnalysis.h b/include/llvm/Analysis/AliasAnalysis.h
index c63d9908e2..eff29719c7 100644
--- a/include/llvm/Analysis/AliasAnalysis.h
+++ b/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);