reintroduce original (asserting) semantics of CallSite(Instruction *II)
authorGabor Greif <ggreif@gmail.com>
Tue, 27 Jul 2010 22:53:28 +0000 (22:53 +0000)
committerGabor Greif <ggreif@gmail.com>
Tue, 27 Jul 2010 22:53:28 +0000 (22:53 +0000)
add instead a CallSite(Value* V) constructor that is consistent with ImmutableCallSize
and use that one in client code

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

include/llvm/Support/CallSite.h
lib/Analysis/MemoryDependenceAnalysis.cpp

index d21c6ca5757a86cc281713b253cb5f7f605aa6d3..56f5aa9ca93260c5218988f6b7ed5f540a0e43fe 100644 (file)
@@ -55,6 +55,7 @@ public:
   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 @@ class CallSite : public CallSiteBase<Function, Value, User, Instruction,
 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) {}
index 662752f0c3ebfe72d7a839e54b647eeed44d5ea9..4c3cf804d5ccc00a8cbc3b1853cea2de11fb1445 100644 (file)
@@ -120,7 +120,7 @@ getCallSiteDependencyFrom(CallSite CS, bool isReadOnlyCall,
       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.