[PATCH] D67855: [X86] Add new calling convention that guarantees tail call optimization

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 23 13:35:50 PDT 2019


paquette added a comment.

A couple things I think could have testcases:

- Mismatched calling conventions should not tail call
- Interaction with musttail (see test/CodeGen/X86/musttail-fastcall.ll)
- What should we do with disable-tail-calls? (see test/CodeGen/X86/disable-tail-calls.ll)





================
Comment at: llvm/docs/LangRef.rst:439-448
+"``tailcc``" - Tail callable calling convention
+    This calling convention attempts to make calls as fast as possible
+    (e.g. by passing things in registers), while also ensuring it is always
+    possible to perform tail call optimization on calls that are in tail
+    position. This calling convention allows the target to use whatever tricks
+    it wants to produce fast code for the target, without having to conform to
+    an externally specified ABI (Application Binary Interface). `Tail calls can
----------------
Instead of copying the documentation from `fastcc`, it might be better to say this is equivalent (other than the tail call part)


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

https://reviews.llvm.org/D67855





More information about the llvm-commits mailing list