[PATCH] D25479: Guard flag –fdenormal-fp-math with –fno-fast-math
Sjoerd Meijer via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 13 06:57:21 PDT 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL284121: Guard flag –fdenormal-fp-math with –fno-fast-math. (authored by SjoerdMeijer).
Changed prior to commit:
https://reviews.llvm.org/D25479?vs=74363&id=74508#toc
Repository:
rL LLVM
https://reviews.llvm.org/D25479
Files:
cfe/trunk/lib/Driver/Tools.cpp
cfe/trunk/test/Driver/denormal-fp-math.c
Index: cfe/trunk/test/Driver/denormal-fp-math.c
===================================================================
--- cfe/trunk/test/Driver/denormal-fp-math.c
+++ cfe/trunk/test/Driver/denormal-fp-math.c
@@ -1,9 +1,12 @@
// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -fdenormal-fp-math=ieee -v 2>&1 | FileCheck -check-prefix=CHECK-IEEE %s
// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -fdenormal-fp-math=preserve-sign -v 2>&1 | FileCheck -check-prefix=CHECK-PS %s
// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -fdenormal-fp-math=positive-zero -v 2>&1 | FileCheck -check-prefix=CHECK-PZ %s
+// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -fdenormal-fp-math=ieee -fno-fast-math -v 2>&1 | FileCheck -check-prefix=CHECK-NO-UNSAFE %s
+// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -fdenormal-fp-math=ieee -fno-unsafe-math-optimizations -v 2>&1 | FileCheck -check-prefix=CHECK-NO-UNSAFE %s
// RUN: not %clang -target arm-unknown-linux-gnu -c %s -fdenormal-fp-math=foo -v 2>&1 | FileCheck -check-prefix=CHECK-INVALID %s
// CHECK-IEEE: "-fdenormal-fp-math=ieee"
// CHECK-PS: "-fdenormal-fp-math=preserve-sign"
// CHECK-PZ: "-fdenormal-fp-math=positive-zero"
+// CHECK-NO-UNSAFE-NOT: "-fdenormal-fp-math=ieee"
// CHECK-INVALID: error: invalid value 'foo' in '-fdenormal-fp-math=foo'
Index: cfe/trunk/lib/Driver/Tools.cpp
===================================================================
--- cfe/trunk/lib/Driver/Tools.cpp
+++ cfe/trunk/lib/Driver/Tools.cpp
@@ -4391,11 +4391,18 @@
if (ReciprocalMath)
CmdArgs.push_back("-freciprocal-math");
- if (!TrappingMath)
+ if (!TrappingMath)
CmdArgs.push_back("-fno-trapping-math");
- if (Args.hasArg(options::OPT_fdenormal_fp_math_EQ))
- Args.AddLastArg(CmdArgs, options::OPT_fdenormal_fp_math_EQ);
+
+ if (Arg *A = Args.getLastArg(options::OPT_ffast_math, FastMathAliasOption,
+ options::OPT_fno_fast_math,
+ options::OPT_funsafe_math_optimizations,
+ options::OPT_fno_unsafe_math_optimizations,
+ options::OPT_fdenormal_fp_math_EQ))
+ if (A->getOption().getID() != options::OPT_fno_fast_math &&
+ A->getOption().getID() != options::OPT_fno_unsafe_math_optimizations)
+ Args.AddLastArg(CmdArgs, options::OPT_fdenormal_fp_math_EQ);
// Validate and pass through -fp-contract option.
if (Arg *A = Args.getLastArg(options::OPT_ffast_math, FastMathAliasOption,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25479.74508.patch
Type: text/x-patch
Size: 2521 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161013/1f2ccac6/attachment.bin>
More information about the cfe-commits
mailing list