Add FP_CONTRACT support for clang.
authorLang Hames <lhames@gmail.com>
Tue, 2 Oct 2012 04:45:10 +0000 (04:45 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 2 Oct 2012 04:45:10 +0000 (04:45 +0000)
commit5de91cc35f62342e5eb70175cb3ff5cc5db811c4
tree23742c6e4f310ba2bf56702f82a3e8ef0e76fd84
parentb67c6cc24de76e0d74f932f3534a76f6f939d8a2
Add FP_CONTRACT support for clang.

Clang will now honor the FP_CONTRACT pragma and emit LLVM
fmuladd intrinsics for expressions of the form A * B + C (when they occur in a
single statement).

llvm-svn: 164989
21 files changed:
clang/include/clang/AST/Expr.h
clang/include/clang/AST/ExprCXX.h
clang/include/clang/Sema/Sema.h
clang/lib/AST/ASTImporter.cpp
clang/lib/Analysis/BodyFarm.cpp
clang/lib/CodeGen/CGExprScalar.cpp
clang/lib/CodeGen/CGObjC.cpp
clang/lib/Parse/ParseStmt.cpp
clang/lib/Rewrite/Frontend/RewriteModernObjC.cpp
clang/lib/Rewrite/Frontend/RewriteObjC.cpp
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Sema/SemaExpr.cpp
clang/lib/Sema/SemaExprCXX.cpp
clang/lib/Sema/SemaOverload.cpp
clang/lib/Sema/SemaPseudoObject.cpp
clang/lib/Sema/TreeTransform.h
clang/lib/Serialization/ASTReaderStmt.cpp
clang/lib/Serialization/ASTWriterStmt.cpp
clang/test/CodeGen/ffp-contract-option.c [moved from clang/test/CodeGen/fp-contract.c with 100% similarity]
clang/test/CodeGen/fp-contract-pragma.cpp [new file with mode: 0644]
clang/test/CodeGenOpenCL/single-precision-constant.cl