diff options
-rw-r--r-- | lib/Analysis/MemoryBuiltins.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/lib/Analysis/MemoryBuiltins.cpp b/lib/Analysis/MemoryBuiltins.cpp index d1a9363..a9f1244 100644 --- a/lib/Analysis/MemoryBuiltins.cpp +++ b/lib/Analysis/MemoryBuiltins.cpp @@ -66,13 +66,8 @@ static Function *getCalledFunction(const Value *V, bool LookThroughBitCast) { if (LookThroughBitCast) V = V->stripPointerCasts(); - Value *I = const_cast<Value*>(V); - CallSite CS; - if (CallInst *CI = dyn_cast<CallInst>(I)) - CS = CallSite(CI); - else if (InvokeInst *II = dyn_cast<InvokeInst>(I)) - CS = CallSite(II); - else + CallSite CS(const_cast<Value*>(V)); + if (!CS.getInstruction()) return 0; Function *Callee = CS.getCalledFunction(); |