[clang] Remove FiniteMathOnly and use only NoHonorINFs and NoHonorNANs. (PR #97342)
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 15 10:48:46 PDT 2024
================
@@ -3298,7 +3298,18 @@ static void RenderFloatingPointOptions(const ToolChain &TC, const Driver &D,
}
// Handle __FINITE_MATH_ONLY__ similarly.
- if (!HonorINFs && !HonorNaNs)
+ bool InfValues = true;
+ bool NanValues = true;
+ auto processArg = [&](const auto *Arg) {
+ if (StringRef(Arg->getValue()) == "-menable-no-nans")
+ NanValues = false;
+ if (StringRef(Arg->getValue()) == "-menable-no-infs")
+ InfValues = false;
+ };
+ for (auto *Arg : Args.filtered(options::OPT_Xclang))
+ processArg(Arg);
----------------
AaronBallman wrote:
Instead of filtering all arguments to cc1 and looping over all of them, can we use `Args.getLastArg()`? And can we skip that processing if we already know we're doing to pass `-ffinite-math-only` because of `(!HonorINFs && !HonorNaNs)`?
https://github.com/llvm/llvm-project/pull/97342
More information about the cfe-commits
mailing list