summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/docs/LangRef.rst30
1 files changed, 16 insertions, 14 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index f886a4a0f16..f6dda59fda2 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -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 arguments:
#. 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 arguments:
#. '``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
OpenPOWER on IntegriCloud