[PATCH] D120622: [AArch64] Use correct calling convention for each vararg

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 28 15:41:21 PST 2022


rnk added a comment.

In D120622#3349584 <https://reviews.llvm.org/D120622#3349584>, @lephilousophe wrote:

> Now a noob question related to your comments.

It's a reasonable question. :)

> I read that there is now a clang attribute to mark calls as musttail. Isn't these checks necessary for the case where user can ask for a tail call when it's not possible?

The frontend has a set of safety checks for the musttail attribute. If those pass, the IR verifier checks should also pass, meaning the IR prototypes should match. If the IR prototypes match, the backend should be able to handle it. If the fatal error I quoted earlier ever executes, that's a bug. I think we can fix more bugs than we introduce by removing that fatal error. There may be some constructs that AArch64 tail call codegen can't handle yet, but we need to fix them anyway.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120622/new/

https://reviews.llvm.org/D120622



More information about the llvm-commits mailing list