[clang] [Driver] Introduce ffp-model=aggressive (PR #100453)

Andy Kaylor via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 29 10:40:17 PDT 2024


================
@@ -102,6 +102,16 @@ Deprecated Compiler Flags
 Modified Compiler Flags
 -----------------------
 
+- The ``-ffp-model`` option has been updated to enable a more limited set of
+  optimizations when the ``fast`` argument is used and to accept a new argument,
+  ``aggressive``. The behavior of ``-ffp-model=aggressive`` is equivalent
+  to the previous behavior of ``-ffp-model=fast``. The updated
+  ``-ffp-model=fast`` behavior no longer assumes finite math only, uses
+  the ``promoted`` algorithm for complex division when possible rather than the
+  less basic (limited range) algorithm, and sets
+  ``-ffp-contract=fast-honor-pragmas`` rather than ``-ffp-contract=fast``.
----------------
andykaylor wrote:

It is a silent change, but the new behavior is within the bounds of what the existing option permits. There is never any guarantee that any given optimization will be performed, so this won't break anyone's code (unless some optimization is masking a real error in the code). There may be some cases where it will introduce a performance regression, but I think those are likely to be minor regressions. In the case of complex division, the change could result in a numeric difference but the new results will be more accurate and the fast fp-model doesn't guarantee numeric consistency.

https://github.com/llvm/llvm-project/pull/100453


More information about the cfe-commits mailing list