[all-commits] [llvm/llvm-project] de4ce5: Rebase swiftasynccall's musttail support onto the ...

John McCall via All-commits all-commits at lists.llvm.org
Wed Mar 20 14:21:59 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: de4ce5dd2bde7f9d7cbfe47a542a308779c43ce3
      https://github.com/llvm/llvm-project/commit/de4ce5dd2bde7f9d7cbfe47a542a308779c43ce3
  Author: John McCall <rjmccall at apple.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/test/CodeGen/swift-async-call-conv.c

  Log Message:
  -----------
  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.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list