From 16d0db2da8c274f98db4a89ca7a92f970d464b9a Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 14 May 2005 12:21:56 +0000 Subject: [PATCH] Make sure to preserve the calling convention when changing an invoke into a call. This fixes Prolangs-C++/deriv2, kimwitu++, and Misc-C++/bigfib on X86 with -enable-x86-fastcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22023 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Utils/SimplifyCFG.cpp | 2 ++ 1 file changed, 2 insertions(+) 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; -- 2.34.1