diff options
author | Sanjay Patel <spatel@rotateright.com> | 2019-09-06 16:10:18 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2019-09-06 16:10:18 +0000 |
commit | 4f0e429acca3b224b7b58fb89899c2de08a2e4c6 (patch) | |
tree | f8b28e00fbec4352ed80bdc96b130b7e733a7b79 /llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | |
parent | f1cdd95a2fe79fbcd7fd440509a754bc3afaf088 (diff) | |
download | llvm-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.cpp | 4 |
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 |