summaryrefslogtreecommitdiffstats
path: root/llvm/docs
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-08-26 00:33:28 +0000
committerReid Kleckner <reid@kleckner.net>2014-08-26 00:33:28 +0000
commit8349864dbdf49ec7637d8c2903dadafb5747990f (patch)
tree600bc30d2b78f808eaef463ac2f7c93338295986 /llvm/docs
parentd83c63b7044f38504f0e2d6281962f324dcf2afb (diff)
downloadbcm5719-llvm-8349864dbdf49ec7637d8c2903dadafb5747990f.tar.gz
bcm5719-llvm-8349864dbdf49ec7637d8c2903dadafb5747990f.zip
Declare that musttail calls in variadic functions forward the ellipsis
Summary: There is no functionality change here except in the way we assemble and dump musttail calls in variadic functions. There's really no need to separate out the bits for musttail and "is forwarding varargs" on call instructions. A musttail call by definition has to forward the ellipsis or it would fail verification. Reviewers: chandlerc, nlewycky Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4892 llvm-svn: 216423
Diffstat (limited to 'llvm/docs')
-rw-r--r--llvm/docs/LangRef.rst3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index a310240804d..8e574dfd7af 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -6591,6 +6591,9 @@ This instruction requires several arguments:
- The calling conventions of the caller and callee must match.
- All ABI-impacting function attributes, such as sret, byval, inreg,
returned, and inalloca, must match.
+ - The callee must be varargs iff the caller is varargs. Bitcasting a
+ non-varargs function to the appropriate varargs type is legal so
+ long as the non-varargs prefixes obey the other rules.
Tail call optimization for calls marked ``tail`` is guaranteed to occur if
the following conditions are met:
OpenPOWER on IntegriCloud