diff options
-rw-r--r-- | clang/lib/CodeGen/BackendUtil.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 541e676be20..2eab7554006 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -537,6 +537,12 @@ void EmitAssemblyHelper::CreateTargetMachine(bool MustCreateTM) { .Case("posix", llvm::ThreadModel::POSIX) .Case("single", llvm::ThreadModel::Single); + Options.FPDenormalType = + llvm::StringSwitch<llvm::FPDenormal::DenormalType>(CodeGenOpts.FPDenormalMode) + .Case("ieee", llvm::FPDenormal::IEEE) + .Case("preserve-sign", llvm::FPDenormal::PreserveSign) + .Case("positive-zero", llvm::FPDenormal::PositiveZero); + // Set float ABI type. assert((CodeGenOpts.FloatABI == "soft" || CodeGenOpts.FloatABI == "softfp" || CodeGenOpts.FloatABI == "hard" || CodeGenOpts.FloatABI.empty()) && @@ -579,6 +585,7 @@ void EmitAssemblyHelper::CreateTargetMachine(bool MustCreateTM) { Options.LessPreciseFPMADOption = CodeGenOpts.LessPreciseFPMAD; Options.NoInfsFPMath = CodeGenOpts.NoInfsFPMath; Options.NoNaNsFPMath = CodeGenOpts.NoNaNsFPMath; + Options.NoTrappingFPMath = CodeGenOpts.NoTrappingMath; Options.NoZerosInBSS = CodeGenOpts.NoZeroInitializedInBSS; Options.UnsafeFPMath = CodeGenOpts.UnsafeFPMath; Options.StackAlignmentOverride = CodeGenOpts.StackAlignment; |