diff options
author | Stephen Tozer <stephen.tozer@sony.com> | 2025-04-25 12:47:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-25 11:47:38 +0100 |
commit | 2d00c73003a6c5e9fd468afcf271b505d4f80f27 (patch) | |
tree | 42884bd6c1649def13e2e36072e5fd156b5af8b3 /clang/lib/Frontend/ASTMerge.cpp | |
parent | b4e259291326176602c55db2dbf8697ff3bca6e9 (diff) | |
download | llvm-2d00c73003a6c5e9fd468afcf271b505d4f80f27.zip llvm-2d00c73003a6c5e9fd468afcf271b505d4f80f27.tar.gz llvm-2d00c73003a6c5e9fd468afcf271b505d4f80f27.tar.bz2 |
[Clang][CodeGen] Emit fake uses before musttail calls (#136867)
Fixes the issue reported following the merge of #118026.
When a valid `musttail` call is made, the function it is made from must
return immediately after the call; if there are any cleanups left in the
function, then an error is triggered. This is not necessary for fake
uses however - it is perfectly valid to simply emit the fake use
"cleanup" code before the tail call, and indeed LLVM will automatically
move any fake uses following a tail call to come before the tail call.
Therefore, this patch specifically choose to handle fake use cleanups
when a musttail call is present by simply emitting them immediately
before the call.
Diffstat (limited to 'clang/lib/Frontend/ASTMerge.cpp')
0 files changed, 0 insertions, 0 deletions