diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index 5f023f1dd11..15ea761f2ce 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -1066,6 +1066,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) { std::vector Args(II->op_begin()+3, II->op_end()); CallInst *CI = new CallInst(II->getCalledValue(), Args, II->getName(), BI); + CI->setCallingConv(II->getCallingConv()); // If the invoke produced a value, the Call now does instead II->replaceAllUsesWith(CI); delete II; @@ -1280,6 +1281,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) { std::vector Args(II->op_begin()+3, II->op_end()); CallInst *CI = new CallInst(II->getCalledValue(), Args, II->getName(), BI); + CI->setCallingConv(II->getCallingConv()); // If the invoke produced a value, the Call does now instead. II->replaceAllUsesWith(CI); delete II;