diff --git a/lib/Target/Target.td b/lib/Target/Target.td index fce45a5c2d4..938e4cdc8fb 100644 --- a/lib/Target/Target.td +++ b/lib/Target/Target.td @@ -210,6 +210,11 @@ class Predicate { string CondString = cond; } +/// NoHonorSignDependentRounding - This predicate is true if support for +/// sign-dependent-rounding is not enabled. +def NoHonorSignDependentRounding + : Predicate<"!HonorSignDependentRoundingFPMath()">; + class Requires preds> { list Predicates = preds; } diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index b79b87b4794..6c00a3f492b 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -27,6 +27,7 @@ namespace llvm { bool NoExcessFPPrecision; bool UnsafeFPMath; bool FiniteOnlyFPMathOption; + bool HonorSignDependentRoundingFPMathOption; bool UseSoftFloat; bool NoZerosInBSS; bool ExceptionHandling;