[llvm-commits] [llvm] r109553 - in /llvm/trunk: include/llvm/Support/CallSite.h lib/Analysis/MemoryDependenceAnalysis.cpp
Gabor Greif
ggreif at gmail.com
Tue Jul 27 15:53:28 PDT 2010
Author: ggreif
Date: Tue Jul 27 17:53:28 2010
New Revision: 109553
URL: http://llvm.org/viewvc/llvm-project?rev=109553&view=rev
Log:
reintroduce original (asserting) semantics of CallSite(Instruction *II)
add instead a CallSite(Value* V) constructor that is consistent with ImmutableCallSize
and use that one in client code
Modified:
llvm/trunk/include/llvm/Support/CallSite.h
llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp
Modified: llvm/trunk/include/llvm/Support/CallSite.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/CallSite.h?rev=109553&r1=109552&r2=109553&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/CallSite.h (original)
+++ llvm/trunk/include/llvm/Support/CallSite.h Tue Jul 27 17:53:28 2010
@@ -55,6 +55,7 @@
CallSiteBase(InstrTy *II) {
assert(II && "Null instruction given?");
*this = get(II);
+ assert(I.getPointer() && "Not a call?");
}
/// CallSiteBase::get - This static method is sort of like a constructor. It
@@ -293,6 +294,7 @@
public:
CallSite() {}
CallSite(Base B) : Base(B) {}
+ CallSite(Value* V) : Base(V) {}
CallSite(CallInst *CI) : Base(CI) {}
CallSite(InvokeInst *II) : Base(II) {}
CallSite(Instruction *II) : Base(II) {}
Modified: llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp?rev=109553&r1=109552&r2=109553&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp (original)
+++ llvm/trunk/lib/Analysis/MemoryDependenceAnalysis.cpp Tue Jul 27 17:53:28 2010
@@ -120,7 +120,7 @@
Pointer = CI->getArgOperand(0);
// calls to free() erase the entire structure
PointerSize = ~0ULL;
- } else if (CallSite InstCS = Inst) {
+ } else if (CallSite InstCS = cast<Value>(Inst)) {
// Debug intrinsics don't cause dependences.
if (isa<DbgInfoIntrinsic>(Inst)) continue;
// If these two calls do not interfere, look past it.
More information about the llvm-commits
mailing list