================ @@ -816,6 +816,11 @@ class FPOptions { setAllowFPReassociate(LO.AllowFPReassoc); setNoHonorNaNs(LO.NoHonorNaNs); setNoHonorInfs(LO.NoHonorInfs); + // Ensure that if FiniteMathOnly is enabled, NoHonorNaNs and NoHonorInfs are + // also enabled. This is because FiniteMathOnly mode assumes no NaNs or Infs + // are present in computations. + assert((LO.FiniteMathOnly == (LO.NoHonorInfs && LO.NoHonorNaNs)) && ---------------- AnastasiaStulova wrote:
Btw this option is defined in OpenCL spec so it would be better to keep this at least as a driver option. https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#optimization-options I think mapping it to ``NoHonorInfs``, ``NoHonorNaNs`` frontend options seems reasonable. Can the description of this change be elaborated to describe what the intension is. Tagging @svenvh for any additional feedback. But mapping https://github.com/llvm/llvm-project/pull/97342 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits