Make sure intrinsic auto-upgrade is invoked correctly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25434 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp
index 2ec670e..55e1606 100644
--- a/lib/Bytecode/Reader/Reader.cpp
+++ b/lib/Bytecode/Reader/Reader.cpp
@@ -857,6 +857,11 @@
     }
 
     Result = new CallInst(F, Params);
+    if (CallInst* newCI = UpgradeIntrinsicCall(cast<CallInst>(Result))) {
+      Result->replaceAllUsesWith(newCI);
+      Result->eraseFromParent();
+      Result = newCI;
+    }
     if (isTailCall) cast<CallInst>(Result)->setTailCall();
     if (CallingConv) cast<CallInst>(Result)->setCallingConv(CallingConv);
     break;