andrew.w.kaylor added inline comments.
================ Comment at: clang/docs/UsersManual.rst:1388 - * ``precise`` Disables optimizations that are not value-safe on floating-point data, although FP contraction (FMA) is enabled (``-ffp-contract=fast``). This is the default behavior. * ``strict`` Enables ``-frounding-math`` and ``-ffp-exception-behavior=strict``, and disables contractions (FMA). All of the ``-ffast-math`` enablements are disabled. ---------------- lebedev.ri wrote: > I'm confused. Where in this patch the `This patch establishes the default > option for -ffp-model to select "precise".` happens? LHS of diff says it is > already default The comments said that it was the default, but the actual default was something that didn't quite match any of the fp-models -- precise but with fp contraction off. ================ Comment at: clang/lib/Driver/ToolChains/Clang.cpp:2548 DenormalFPMath = DefaultDenormalFPMath; FPContract = ""; StringRef Val = A->getValue(); ---------------- I think this always gets changed to fast, on, or off below, but making it empty here looks wrong. ================ Comment at: clang/lib/Driver/ToolChains/Clang.cpp:2661 // the FPContract value has already been set to a string literal // and the Val string isn't a pertinent value. ; ---------------- Does this mean that "-ffp-model=precise -ffp-contract=off" will leave FP contraction on? That doesn't seem right. ================ Comment at: clang/lib/Driver/ToolChains/Clang.cpp:2769 DenormalFPMath != llvm::DenormalMode::getIEEE() && - FPContract.empty()) + (FPContract.equals("off") || FPContract.empty())) // OK: Current Arg doesn't conflict with -ffp-model=strict ---------------- We should never get here with FPContract empty. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74436/new/ https://reviews.llvm.org/D74436 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits