summaryrefslogtreecommitdiff
path: root/lib/Transforms
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2008-09-04 18:30:46 +0000
committerDale Johannesen <dalej@apple.com>2008-09-04 18:30:46 +0000
commit53bfbbccbfbd610a6e7970200aef868469dd556c (patch)
tree866cb48cd9e72d21f1f3f18eef5f56eeb20cefc3 /lib/Transforms
parentae73dc1448d25b02cabc7c64c86c64371453dda8 (diff)
downloadllvm-53bfbbccbfbd610a6e7970200aef868469dd556c.tar.gz
llvm-53bfbbccbfbd610a6e7970200aef868469dd556c.tar.bz2
llvm-53bfbbccbfbd610a6e7970200aef868469dd556c.tar.xz
Add intrinsic forms of pow and exp2. The non-intrinsic
forms remain to handle older IR files, but will go away soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55781 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/Scalar/SimplifyLibCalls.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/SimplifyLibCalls.cpp b/lib/Transforms/Scalar/SimplifyLibCalls.cpp
index 965d1ce0de..2fbc25e0bd 100644
--- a/lib/Transforms/Scalar/SimplifyLibCalls.cpp
+++ b/lib/Transforms/Scalar/SimplifyLibCalls.cpp
@@ -1246,9 +1246,19 @@ void SimplifyLibCalls::InitOptimizations() {
Optimizations["powf"] = &Pow;
Optimizations["pow"] = &Pow;
Optimizations["powl"] = &Pow;
+ Optimizations["llvm.pow.f32"] = &Pow;
+ Optimizations["llvm.pow.f64"] = &Pow;
+ Optimizations["llvm.pow.f80"] = &Pow;
+ Optimizations["llvm.pow.f128"] = &Pow;
+ Optimizations["llvm.pow.ppcf128"] = &Pow;
Optimizations["exp2l"] = &Exp2;
Optimizations["exp2"] = &Exp2;
Optimizations["exp2f"] = &Exp2;
+ Optimizations["llvm.exp2.ppcf128"] = &Exp2;
+ Optimizations["llvm.exp2.f128"] = &Exp2;
+ Optimizations["llvm.exp2.f80"] = &Exp2;
+ Optimizations["llvm.exp2.f64"] = &Exp2;
+ Optimizations["llvm.exp2.f32"] = &Exp2;
#ifdef HAVE_FLOORF
Optimizations["floor"] = &UnaryDoubleFP;