[llvm] r275283 - PR28516: Fix LangRef description of call and invoke to match IR changes for typeless pointers
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 13 10:21:34 PDT 2016
Author: dblaikie
Date: Wed Jul 13 12:21:34 2016
New Revision: 275283
URL: http://llvm.org/viewvc/llvm-project?rev=275283&view=rev
Log:
PR28516: Fix LangRef description of call and invoke to match IR changes for typeless pointers
Modified:
llvm/trunk/docs/LangRef.rst
Modified: llvm/trunk/docs/LangRef.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/LangRef.rst?rev=275283&r1=275282&r2=275283&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.rst (original)
+++ llvm/trunk/docs/LangRef.rst Wed Jul 13 12:21:34 2016
@@ -5483,7 +5483,7 @@ Syntax:
::
- <result> = invoke [cconv] [ret attrs] <ptr to function ty> <function ptr val>(<function args>) [fn attrs]
+ <result> = invoke [cconv] [ret attrs] <ty>|<fnty> <fnptrval>(<function args>) [fn attrs]
[operand bundles] to label <normal label> unwind label <exception label>
Overview:
@@ -5519,12 +5519,16 @@ This instruction requires several argume
#. The optional :ref:`Parameter Attributes <paramattrs>` list for return
values. Only '``zeroext``', '``signext``', and '``inreg``' attributes
are valid here.
-#. '``ptr to function ty``': shall be the signature of the pointer to
- function value being invoked. In most cases, this is a direct
- function invocation, but indirect ``invoke``'s are just as possible,
- branching off an arbitrary pointer to function value.
-#. '``function ptr val``': An LLVM value containing a pointer to a
- function to be invoked.
+#. '``ty``': the type of the call instruction itself which is also the
+ type of the return value. Functions that return no value are marked
+ ``void``.
+#. '``fnty``': shall be the signature of the function being invoked. The
+ argument types must match the types implied by this signature. This
+ type can be omitted if the function is not varargs.
+#. '``fnptrval``': An LLVM value containing a pointer to a function to
+ be invoked. In most cases, this is a direct function invocation, but
+ indirect ``invoke``'s are just as possible, calling an arbitrary pointer
+ to function value.
#. '``function args``': argument list whose types match the function
signature argument types and parameter attributes. All arguments must
be of :ref:`first class <t_firstclass>` type. If the function signature
@@ -8493,7 +8497,7 @@ Syntax:
::
- <result> = [tail | musttail | notail ] call [fast-math flags] [cconv] [ret attrs] <ty> [<fnty>*] <fnptrval>(<function args>) [fn attrs]
+ <result> = [tail | musttail | notail ] call [fast-math flags] [cconv] [ret attrs] <ty>|<fnty> <fnptrval>(<function args>) [fn attrs]
[ operand bundles ]
Overview:
@@ -8566,13 +8570,11 @@ This instruction requires several argume
#. '``ty``': the type of the call instruction itself which is also the
type of the return value. Functions that return no value are marked
``void``.
-#. '``fnty``': shall be the signature of the pointer to function value
- being invoked. The argument types must match the types implied by
- this signature. This type can be omitted if the function is not
- varargs and if the function type does not return a pointer to a
- function.
+#. '``fnty``': shall be the signature of the function being called. The
+ argument types must match the types implied by this signature. This
+ type can be omitted if the function is not varargs.
#. '``fnptrval``': An LLVM value containing a pointer to a function to
- be invoked. In most cases, this is a direct function invocation, but
+ be called. In most cases, this is a direct function call, but
indirect ``call``'s are just as possible, calling an arbitrary pointer
to function value.
#. '``function args``': argument list whose types match the function
More information about the llvm-commits
mailing list