From bc65ca8de591e278fc613b5dc0e178b2ddcd215e Mon Sep 17 00:00:00 2001 From: Mon P Wang Date: Fri, 20 Mar 2009 05:06:58 +0000 Subject: Added option to enable generating less precise mad (multiply addition) for those architectures that support the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67363 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetOptions.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/llvm/Target/TargetOptions.h b/include/llvm/Target/TargetOptions.h index 54468f440d..276ea135c7 100644 --- a/include/llvm/Target/TargetOptions.h +++ b/include/llvm/Target/TargetOptions.h @@ -26,6 +26,14 @@ namespace llvm { /// elimination optimization, this option should disable it. extern bool NoFramePointerElim; + /// LessPreciseFPMAD - This flag is enabled when the + /// -enable-fp-mad is specified on the command line. When this flag is off + /// (the default), the code generator is not allowed to generate mad + /// (multiply add) if the result is "less precise" than doing those operations + /// individually. + extern bool LessPreciseFPMADOption; + extern bool LessPreciseFPMAD(); + /// NoExcessFPPrecision - This flag is enabled when the /// -disable-excess-fp-precision flag is specified on the command line. When /// this flag is off (the default), the code generator is allowed to produce @@ -39,7 +47,7 @@ namespace llvm { /// this flag is off (the default), the code generator is not allowed to /// produce results that are "less precise" than IEEE allows. This includes /// use of X86 instructions like FSIN and FCOS instead of libcalls. - /// UnsafeFPMath implies FiniteOnlyFPMath. + /// UnsafeFPMath implies FiniteOnlyFPMath and LessPreciseFPMAD. extern bool UnsafeFPMath; /// FiniteOnlyFPMath - This returns true when the -enable-finite-only-fp-math -- cgit v1.2.3-70-g09d2