[llvm] e6f8a6b - [LangRef] Clarify that noimplicitfloat disables all implicit vectors not just floating point.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 19 10:14:03 PDT 2022


Author: Craig Topper
Date: 2022-09-19T10:13:51-07:00
New Revision: e6f8a6b56e27b86b0563d3c6d547c2b14f0a1ced

URL: https://github.com/llvm/llvm-project/commit/e6f8a6b56e27b86b0563d3c6d547c2b14f0a1ced
DIFF: https://github.com/llvm/llvm-project/commit/e6f8a6b56e27b86b0563d3c6d547c2b14f0a1ced.diff

LOG: [LangRef] Clarify that noimplicitfloat disables all implicit vectors not just floating point.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D134086

Added: 
    

Modified: 
    llvm/docs/LangRef.rst

Removed: 
    


################################################################################
diff  --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index 93f30da9417e..acace5614f40 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -1781,10 +1781,15 @@ example:
     function can return a pointer to a previously deallocated memory object.
 ``noimplicitfloat``
     Disallows implicit floating-point code. This inhibits optimizations that
-    use floating-point code and floating-point/SIMD/vector registers for
-    operations that are not nominally floating-point. LLVM instructions that
-    perform floating-point operations or require access to floating-point
-    registers may still cause floating-point code to be generated.
+    use floating-point code and floating-point registers for operations that are
+    not nominally floating-point. LLVM instructions that perform floating-point
+    operations or require access to floating-point registers may still cause
+    floating-point code to be generated.
+
+    Also inhibits optimizations that create SIMD/vector code and registers from
+    scalar code such as vectorization or memcpy/memset optimization. This
+    includes integer vectors. Vector instructions present in IR may still cause
+    vector code to be generated.
 ``noinline``
     This attribute indicates that the inliner should never inline this
     function in any situation. This attribute may not be used together


        


More information about the llvm-commits mailing list