Skip to content

Commit a2b8292

Browse files
authored
Merge pull request swiftlang#36613 from varungandhi-apple/vg-main
2 parents d4112f8 + b78e3b8 commit a2b8292

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

lib/LLVMPasses/LLVMMergeFunctions.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1225,7 +1225,11 @@ void SwiftMergeFunctions::writeThunk(Function *ToFunc, Function *Thunk,
12251225
}
12261226

12271227
CallInst *CI = Builder.CreateCall(ToFunc, Args);
1228-
CI->setTailCall();
1228+
bool isSwiftTailCall =
1229+
ToFunc->getCallingConv() == CallingConv::SwiftTail &&
1230+
Thunk->getCallingConv() == CallingConv::SwiftTail;
1231+
CI->setTailCallKind(
1232+
isSwiftTailCall ? llvm::CallInst::TCK_MustTail : llvm::CallInst::TCK_Tail);
12291233
CI->setCallingConv(ToFunc->getCallingConv());
12301234
CI->setAttributes(ToFunc->getAttributes());
12311235
if (Thunk->getReturnType()->isVoidTy()) {

0 commit comments

Comments
 (0)