aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2019-09-06 16:10:18 +0000
committerSanjay Patel <spatel@rotateright.com>2019-09-06 16:10:18 +0000
commit4f0e429acca3b224b7b58fb89899c2de08a2e4c6 (patch)
treef8b28e00fbec4352ed80bdc96b130b7e733a7b79 /llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
parentf1cdd95a2fe79fbcd7fd440509a754bc3afaf088 (diff)
downloadllvm-4f0e429acca3b224b7b58fb89899c2de08a2e4c6.zip
llvm-4f0e429acca3b224b7b58fb89899c2de08a2e4c6.tar.gz
llvm-4f0e429acca3b224b7b58fb89899c2de08a2e4c6.tar.bz2
[SimplifyLibCalls] handle pow(x,-0.0) before it can assert (PR43233)
https://bugs.llvm.org/show_bug.cgi?id=43233 llvm-svn: 371221
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
index 1f397c0..7a13cff 100644
--- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
@@ -1562,8 +1562,8 @@ Value *LibCallSimplifier::optimizePow(CallInst *Pow, IRBuilder<> &B) {
if (match(Expo, m_SpecificFP(-1.0)))
return B.CreateFDiv(ConstantFP::get(Ty, 1.0), Base, "reciprocal");
- // pow(x, 0.0) -> 1.0
- if (match(Expo, m_SpecificFP(0.0)))
+ // pow(x, +/-0.0) -> 1.0
+ if (match(Expo, m_AnyZeroFP()))
return ConstantFP::get(Ty, 1.0);
// pow(x, 1.0) -> x