diff options
author | Michael Liao <michael.hliao@gmail.com> | 2020-09-28 10:51:17 -0400 |
---|---|---|
committer | Michael Liao <michael.hliao@gmail.com> | 2020-09-28 11:40:32 -0400 |
commit | 5dbf80cad9556e222c4383960007fc0b27ea9541 (patch) | |
tree | 81f65a356967a8cb4c917bd2b4939064a015856a /clang/lib/CodeGen/CGCall.cpp | |
parent | 0e0a0c8d2ce4945c3c14d2805ff264c407143423 (diff) | |
download | llvm-5dbf80cad9556e222c4383960007fc0b27ea9541.zip llvm-5dbf80cad9556e222c4383960007fc0b27ea9541.tar.gz llvm-5dbf80cad9556e222c4383960007fc0b27ea9541.tar.bz2 |
[clang][codegen] Annotate `correctly-rounded-divide-sqrt-fp-math` fn-attr for OpenCL only.
- `-cl-fp32-correctly-rounded-divide-sqrt` is an OpenCL-specific option
and `correctly-rounded-divide-sqrt-fp-math` should be added for OpenCL
at most.
Differential revision: https://reviews.llvm.org/D88303
Diffstat (limited to 'clang/lib/CodeGen/CGCall.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGCall.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp index ff41764..9ccbe87 100644 --- a/clang/lib/CodeGen/CGCall.cpp +++ b/clang/lib/CodeGen/CGCall.cpp @@ -1794,9 +1794,11 @@ void CodeGenModule::getDefaultFunctionAttributes(StringRef Name, llvm::utostr(CodeGenOpts.SSPBufferSize)); FuncAttrs.addAttribute("no-signed-zeros-fp-math", llvm::toStringRef(LangOpts.NoSignedZero)); - FuncAttrs.addAttribute( - "correctly-rounded-divide-sqrt-fp-math", - llvm::toStringRef(CodeGenOpts.CorrectlyRoundedDivSqrt)); + if (getLangOpts().OpenCL) { + FuncAttrs.addAttribute( + "correctly-rounded-divide-sqrt-fp-math", + llvm::toStringRef(CodeGenOpts.CorrectlyRoundedDivSqrt)); + } // TODO: Reciprocal estimate codegen options should apply to instructions? const std::vector<std::string> &Recips = CodeGenOpts.Reciprocals; |