diff options
author | Karthik Bhat <kv.bhat@samsung.com> | 2015-07-08 03:55:47 +0000 |
---|---|---|
committer | Karthik Bhat <kv.bhat@samsung.com> | 2015-07-08 03:55:47 +0000 |
commit | d2bc0d8423717d212367f99868ca5808e16f2353 (patch) | |
tree | d8adf5ae8cd0581c1f3326931c020476d27d7c60 /llvm/lib/Analysis/ConstantFolding.cpp | |
parent | 4c3ab458a5b8d0ce0e1065b41b4f3650d838e873 (diff) | |
download | bcm5719-llvm-d2bc0d8423717d212367f99868ca5808e16f2353.tar.gz bcm5719-llvm-d2bc0d8423717d212367f99868ca5808e16f2353.zip |
Allow constfolding of llvm.sin.* and llvm.cos.* intrinsics
This patch const folds llvm.sin.* and llvm.cos.* intrinsics whenever feasible.
Differential Revision: http://reviews.llvm.org/D10836
llvm-svn: 241665
Diffstat (limited to 'llvm/lib/Analysis/ConstantFolding.cpp')
-rw-r--r-- | llvm/lib/Analysis/ConstantFolding.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/ConstantFolding.cpp b/llvm/lib/Analysis/ConstantFolding.cpp index 2f4c6a92f9a..02a5aef0322 100644 --- a/llvm/lib/Analysis/ConstantFolding.cpp +++ b/llvm/lib/Analysis/ConstantFolding.cpp @@ -1234,6 +1234,8 @@ bool llvm::canConstantFoldCallTo(const Function *F) { case Intrinsic::floor: case Intrinsic::ceil: case Intrinsic::sqrt: + case Intrinsic::sin: + case Intrinsic::cos: case Intrinsic::pow: case Intrinsic::powi: case Intrinsic::bswap: @@ -1450,6 +1452,10 @@ static Constant *ConstantFoldScalarCall(StringRef Name, unsigned IntrinsicID, return ConstantFoldFP(floor, V, Ty); case Intrinsic::ceil: return ConstantFoldFP(ceil, V, Ty); + case Intrinsic::sin: + return ConstantFoldFP(sin, V, Ty); + case Intrinsic::cos: + return ConstantFoldFP(cos, V, Ty); } if (!TLI) |