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
#. Arguments with the :ref:`inalloca <attr_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 <i_ret>` instruction,
or a pointer bitcast followed by a ret instruction.