[llvm] r374243 - [InstCombine] Fix PR43617
Evandro Menezes via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 9 15:03:24 PDT 2019
Author: evandro
Date: Wed Oct 9 15:03:23 2019
New Revision: 374243
URL: http://llvm.org/viewvc/llvm-project?rev=374243&view=rev
Log:
[InstCombine] Fix PR43617
Check for `nullptr` before inspecting composite function.
Modified:
llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp
Modified: llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp?rev=374243&r1=374242&r2=374243&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp Wed Oct 9 15:03:23 2019
@@ -1916,10 +1916,10 @@ Value *LibCallSimplifier::optimizeLog(Ca
B.setFastMathFlags(FastMathFlags::getFast());
Function *ArgFn = Arg->getCalledFunction();
- StringRef ArgNm = ArgFn->getName();
- Intrinsic::ID ArgID = ArgFn->getIntrinsicID();
+ Intrinsic::ID ArgID =
+ ArgFn ? ArgFn->getIntrinsicID() : Intrinsic::not_intrinsic;
LibFunc ArgLb = NotLibFunc;
- TLI->getLibFunc(ArgNm, ArgLb);
+ TLI->getLibFunc(Arg, ArgLb);
// log(pow(x,y)) -> y*log(x)
if (ArgLb == PowLb || ArgID == Intrinsic::pow) {
@@ -1934,9 +1934,10 @@ Value *LibCallSimplifier::optimizeLog(Ca
substituteInParent(Arg, MulY);
return MulY;
}
+
// log(exp{,2,10}(y)) -> y*log({e,2,10})
// TODO: There is no exp10() intrinsic yet.
- else if (ArgLb == ExpLb || ArgLb == Exp2Lb || ArgLb == Exp10Lb ||
+ if (ArgLb == ExpLb || ArgLb == Exp2Lb || ArgLb == Exp10Lb ||
ArgID == Intrinsic::exp || ArgID == Intrinsic::exp2) {
Constant *Eul;
if (ArgLb == ExpLb || ArgID == Intrinsic::exp)
More information about the llvm-commits
mailing list