Maintain calling convention when inling calls to llvm.deoptimize

The behavior here was buggy -- we'd forget the calling convention after
inlining a callsite calling llvm.deoptimize.

llvm-svn: 265867
diff --git a/llvm/lib/Transforms/Utils/InlineFunction.cpp b/llvm/lib/Transforms/Utils/InlineFunction.cpp
index 646afd8..0c4ffd9 100644
--- a/llvm/lib/Transforms/Utils/InlineFunction.cpp
+++ b/llvm/lib/Transforms/Utils/InlineFunction.cpp
@@ -1843,6 +1843,7 @@
           continue;
         }
 
+        auto CallingConv = DeoptCall->getCallingConv();
         auto *CurBB = RI->getParent();
         RI->eraseFromParent();
 
@@ -1856,8 +1857,9 @@
                "Expected at least the deopt operand bundle");
 
         IRBuilder<> Builder(CurBB);
-        Value *NewDeoptCall =
+        CallInst *NewDeoptCall =
             Builder.CreateCall(NewDeoptIntrinsic, CallArgs, OpBundles);
+        NewDeoptCall->setCallingConv(CallingConv);
         if (NewDeoptCall->getType()->isVoidTy())
           Builder.CreateRetVoid();
         else