summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ConstantFolding.cpp
diff options
context:
space:
mode:
authorKarthik Bhat <kv.bhat@samsung.com>2015-07-08 03:55:47 +0000
committerKarthik Bhat <kv.bhat@samsung.com>2015-07-08 03:55:47 +0000
commitd2bc0d8423717d212367f99868ca5808e16f2353 (patch)
treed8adf5ae8cd0581c1f3326931c020476d27d7c60 /llvm/lib/Analysis/ConstantFolding.cpp
parent4c3ab458a5b8d0ce0e1065b41b4f3650d838e873 (diff)
downloadbcm5719-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.cpp6
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)
OpenPOWER on IntegriCloud