[SimplifyLibCalls] Don't try to simplify indirect calls.
[oota-llvm.git] / lib / Transforms / Utils / SimplifyLibCalls.cpp
index fac8bb21e7f84abcd3fd7c8b86d3dfb146095054..5b4647ddcb5e81fb3e40ecbfa06251fd8bf11670 100644 (file)
@@ -1966,7 +1966,8 @@ Value *LibCallSimplifier::optimizeCall(CallInst *CI) {
   // Also try to simplify calls to fortified library functions.
   if (Value *SimplifiedFortifiedCI = FortifiedSimplifier.optimizeCall(CI)) {
     // Try to further simplify the result.
-    if (CallInst *SimplifiedCI = dyn_cast<CallInst>(SimplifiedFortifiedCI))
+    CallInst *SimplifiedCI = dyn_cast<CallInst>(SimplifiedFortifiedCI);
+    if (SimplifiedCI && SimplifiedCI->getCalledFunction())
       if (Value *V = optimizeStringMemoryLibCall(SimplifiedCI, Builder))
         return V;
     return SimplifiedFortifiedCI;