llvm-project
de4ce5dd - Rebase swiftasynccall's musttail support onto the [[clang::musttail]] logic (#86011)

Commit
1 year ago
Rebase swiftasynccall's musttail support onto the [[clang::musttail]] logic (#86011) The old logic expects the call to be the last thing we emitted, and since it kicks in before we emit cleanups, and since `swiftasynccall` functions always return void, that's likely to be true. "Likely" isn't very reassuring when we're talking about slapping attributes on random calls, though. And indeed, while I can't find any way to break the logic directly in current main, our previous (ongoing?) experiments with shortening argument temporary lifetimes definitely broke it wide open. So while this commit is prophylactic for now, it's clearly the right thing to do, and it can cherry-picked to other branches to fix problems.
Author
Parents
Loading