From: Craig Topper Date: Mon, 19 Sep 2022 17:10:57 +0000 (-0700) Subject: [LangRef] Clarify that noimplicitfloat disables all implicit vectors not just floatin... X-Git-Tag: upstream/17.0.6~33135 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e6f8a6b56e27b86b0563d3c6d547c2b14f0a1ced;p=platform%2Fupstream%2Fllvm.git [LangRef] Clarify that noimplicitfloat disables all implicit vectors not just floating point. Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D134086 --- diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 93f30da..acace56 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