1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00

Document requirement of function attributes with constrained floating

point.

Reviewed by:    andrew.w.kaylor, uweigand, efriedma
Approved by:    andrew.w.kaylor
Differential Revision:  https://reviews.llvm.org/D67839

llvm-svn: 373002
This commit is contained in:
Kevin P. Neal 2019-09-26 17:50:25 +00:00
parent 2dfd238c4b
commit a4dc431d14

View File

@ -1786,7 +1786,8 @@ example:
requires strict floating-point semantics. LLVM will not attempt any
optimizations that require assumptions about the floating-point rounding
mode or that might alter the state of floating-point status flags that
might otherwise be set or cleared by calling this function.
might otherwise be set or cleared by calling this function. LLVM will
not introduce any new floating-point instructions that may trap.
``"thunk"``
This attribute indicates that the function will delegate to some other
function with a tail call. The prototype of a thunk should not be used for
@ -15155,6 +15156,17 @@ example, a series of FP operations that each may raise exceptions may be
vectorized into a single instruction that raises each unique exception a single
time.
Required Function Attributes:
"""""""""""""""""""""""""""""
Proper :ref:`function attributes <fnattrs>` usage is required for the
constrained intrinsics to function correctly.
All function *calls* done in a function that uses constrained floating
point intrinsics must have the ``strictfp`` attribute.
All function *definitions* that use constrained floating point intrinsics
must have the ``strictfp`` attribute.
'``llvm.experimental.constrained.fadd``' Intrinsic
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^