From edae5a6e11308852af43115da0a81533ca7ef3a6 Mon Sep 17 00:00:00 2001 From: Florian Hahn Date: Wed, 17 Jan 2018 23:29:25 +0000 Subject: [PATCH] [LangRef] Clarify Varargs forwarding for musttail calls. This clarification was suggested by @efriedma in D41335, which uses this behavior to inline musttail calls with varargs. Reviewers: hfinkel, efriedma, rnk Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D41861 llvm-svn: 322786 --- llvm/docs/LangRef.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 569e4a9..3aeffc5 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -9033,9 +9033,11 @@ This instruction requires several arguments: #. Arguments with the :ref:`inalloca ` attribute are forwarded in place. - Both markers imply that the callee does not access allocas or varargs from - the caller. Calls marked ``musttail`` must obey the following additional - rules: + Both markers imply that the callee does not access allocas from the caller. + The ``tail`` marker additionally implies that the callee does not access + varargs from the caller, while ``musttail`` implies that varargs from the + caller are passed to the callee. Calls marked ``musttail`` must obey the + following additional rules: - The call must immediately precede a :ref:`ret ` instruction, or a pointer bitcast followed by a ret instruction. -- 2.7.4