[llvm] r373002 - Document requirement of function attributes with constrained floating

Kevin P. Neal via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 26 10:50:25 PDT 2019


Author: kpn
Date: Thu Sep 26 10:50:25 2019
New Revision: 373002

URL: http://llvm.org/viewvc/llvm-project?rev=373002&view=rev
Log:
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

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=373002&r1=373001&r2=373002&view=diff
==============================================================================
--- llvm/trunk/docs/LangRef.rst (original)
+++ llvm/trunk/docs/LangRef.rst Thu Sep 26 10:50:25 2019
@@ -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
 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
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




More information about the llvm-commits mailing list