diff options
author | Andy Kaylor <andrew.kaylor@intel.com> | 2024-08-20 07:11:29 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-20 07:11:29 -0700 |
commit | 27e5f505e5eee3da27c1515d6ed95d66fbe543ea (patch) | |
tree | b1f30bc305716ff0fa7b22bd5f74b5c41001f5fe /clang/lib/Driver/ToolChain.cpp | |
parent | fd83b86bf6da6486d447d67f2c8204aa1a94dfd6 (diff) | |
download | llvm-27e5f505e5eee3da27c1515d6ed95d66fbe543ea.zip llvm-27e5f505e5eee3da27c1515d6ed95d66fbe543ea.tar.gz llvm-27e5f505e5eee3da27c1515d6ed95d66fbe543ea.tar.bz2 |
[Driver] Make ffp-model=fast honor non-finite-values, introduce ffp-model=aggressive (#100453)
This change modifies -ffp-model=fast to select options that more closely
match -funsafe-math-optimizations, and introduces a new model,
-ffp-model=aggressive which matches the existing behavior (except for a
minor change in the fp-contract behavior).
The primary motivation for this change is to make -ffp-model=fast more
user friendly, particularly in light of LLVM's aggressive optimizations
when -fno-honor-nans and -fno-honor-infinites are used.
This was previously proposed here:
https://discourse.llvm.org/t/making-ffp-model-fast-more-user-friendly/78402
Diffstat (limited to 'clang/lib/Driver/ToolChain.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChain.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index 0e8577b..c93c971 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -1366,7 +1366,7 @@ bool ToolChain::isFastMathRuntimeAvailable(const ArgList &Args, Default = false; if (A && A->getOption().getID() == options::OPT_ffp_model_EQ) { StringRef Model = A->getValue(); - if (Model != "fast") + if (Model != "fast" && Model != "aggressive") Default = false; } } |