Fix memdep's handling of invokes when finding the dependency of another call
authorOwen Anderson <resistor@mac.com>
Tue, 13 May 2008 21:25:37 +0000 (21:25 +0000)
committerOwen Anderson <resistor@mac.com>
Tue, 13 May 2008 21:25:37 +0000 (21:25 +0000)
instruction.  This fixes some Ada miscompiles reported in PR2324.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51069 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/MemoryDependenceAnalysis.cpp

index 4af7b42fb7937beee1ca16c1a28830ac19571670..7a6633f8fed03a0770d1f43ef2a1a88bf668f8fb 100644 (file)
@@ -129,7 +129,7 @@ Instruction* MemoryDependenceAnalysis::getCallSiteDependency(CallSite C,
       
       // FreeInsts erase the entire structure
       pointerSize = ~0UL;
-    } else if (isa<CallInst>(QI)) {
+    } else if (CallSite::get(QI).getInstruction() != 0) {
       AliasAnalysis::ModRefBehavior result =
                    AA.getModRefBehavior(CallSite::get(QI));
       if (result != AliasAnalysis::DoesNotAccessMemory) {