You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
musttail call must precede a ret with an optional bitcast
musttail call swifttailcc void @_ZL18runOnAssumedThreadPN5swift9AsyncTaskENS_1
1ExecutorRefEN12_GLOBAL__N_114RunningJobInfoE(%"class.swift::AsyncTask"* %29, i6
4 %36, i8 %39, i64 %41, %"class.(anonymous namespace)::ProcessOverrideJob"* %43)
, !dbg !4405
in function swift_task_switch
for Actor.cpp and
musttail call must precede a ret with an optional bitcast
musttail call swifttailcc void @_ZL12completeTaskPN5swift9AsyncTaskENS_11Execu
torRefEPNS_12AsyncContextE(%"class.swift::AsyncTask"* %7, i64 %13, %"class.swift
::AsyncContext"* swiftasync %10), !dbg !5834
in function _ZL23completeTaskWithClosurePN5swift9AsyncTaskENS_11ExecutorRefEPNS_
12AsyncContextE
for Task.cpp.
Taking the compilation line and repeating it adding -fno-stack-protector results in a clean compile.
The text was updated successfully, but these errors were encountered:
This is an LLVM issue with the CG for SSP not handling the swiftasync call properly (swifttailcc is not being handled properly). I've found the issue impacting:
I saw hints of this in the arm64e VFP thunks when I made the `musttail` diagnostic more rigorous for this Swift work. But there I could just disable stack-protection for the thunks since we know precisely what they do and it's not risky.
With luck this is as simple as making sure the stack protection IR gets emitted just before the `musttail` call instead of between it and the return.
TNorthover (JIRA User) - would be nice to get that merged upstream and cherry-picked back before the branch cut. I see that Amara has already accepted the differential.
Additional Detail from JIRA
md5: 31f447b47ec057bba9e9b1a8cd0abf75
Issue Description:
Attempting to compile these results in
for Actor.cpp and
for Task.cpp.
Taking the compilation line and repeating it adding
-fno-stack-protector
results in a clean compile.The text was updated successfully, but these errors were encountered: