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

Dwight Guth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 24 08:51:53 PDT 2019


dwightguth marked 4 inline comments as done.
dwightguth added inline comments.


================
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
----------------
paquette wrote:
> Instead of copying the documentation from `fastcc`, it might be better to say this is equivalent (other than the tail call part)
It's not totally equivalent though... it's only equivalent to fastcc if you pass -tailcallopt. I agree with what you're proposing at a high level, but I'm not sure how to word it. Do you have a suggestion?


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

https://reviews.llvm.org/D67855





More information about the llvm-commits mailing list