This revision was automatically updated to reflect the committed changes.
Closed by commit rL297837: [Driver] Restructure handling of -ffast-math and
similar options (authored by john.brawn).
Changed prior to commit:
https://reviews.llvm.org/D30582?vs=91745&id=91871#toc
Repository:
rL LLVM
rengolin accepted this revision.
rengolin added a comment.
This revision is now accepted and ready to land.
Ok, with the break fix, this looks goof to me. Thanks!
Comment at: lib/Driver/ToolChains/Clang.cpp:2452
+ if (!HonorInfs && !HonorNans && !MathErrno && AssociativeMath &
john.brawn added inline comments.
Comment at: lib/Driver/ToolChains/Clang.cpp:2452
+ if (!HonorInfs && !HonorNans && !MathErrno && AssociativeMath &&
+ ReciprocalMath && !SignedZeros && !TrappingMath && FpContract == "fast")
+CmdArgs.push_back("-ffast-math");
--
rengolin added inline comments.
Comment at: lib/Driver/ToolChains/Clang.cpp:2452
+ if (!HonorInfs && !HonorNans && !MathErrno && AssociativeMath &&
+ ReciprocalMath && !SignedZeros && !TrappingMath && FpContract == "fast")
+CmdArgs.push_back("-ffast-math");
john.brawn updated this revision to Diff 91745.
john.brawn added a comment.
Respond to review comments, and also fix a couple of 80-column violations that
I spotted.
Repository:
rL LLVM
https://reviews.llvm.org/D30582
Files:
lib/Driver/ToolChains/Clang.cpp
test/Driver/fast-math.c
Index
rengolin added inline comments.
Comment at: lib/Driver/ToolChains/Clang.cpp:2320
+
+ for (Arg *A : Args)
+ {
format
Comment at: lib/Driver/ToolChains/Clang.cpp:2324
+{
+// Options controlling individual features
+case options::OPT
john.brawn updated this revision to Diff 91311.
john.brawn added a comment.
Rebase on top of recent driver changes.
Repository:
rL LLVM
https://reviews.llvm.org/D30582
Files:
lib/Driver/ToolChains/Clang.cpp
test/Driver/fast-math.c
Index: test/Driver/fast-math.c
=
john.brawn created this revision.
The way -ffast-math and the various related options to tweak floating-point
handling are handled is inflexible and rather confusing. This patch
restructures things so that we go through the options adjusting our idea of
what's enabled as we go, instead of tryin