diff options
Diffstat (limited to 'llvm/lib/Analysis/InstructionSimplify.cpp')
-rw-r--r-- | llvm/lib/Analysis/InstructionSimplify.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp index b81ecc83c05..43fbeb88ea2 100644 --- a/llvm/lib/Analysis/InstructionSimplify.cpp +++ b/llvm/lib/Analysis/InstructionSimplify.cpp @@ -4571,28 +4571,28 @@ static Value *SimplifyIntrinsic(Function *F, IterTy ArgBegin, IterTy ArgEnd, } case Intrinsic::exp: { // exp(log(x)) -> x - if (Q.CxtI->isFast() && + if (Q.CxtI->hasAllowReassoc() && match(IIOperand, m_Intrinsic<Intrinsic::log>(m_Value(X)))) return X; return nullptr; } case Intrinsic::exp2: { // exp2(log2(x)) -> x - if (Q.CxtI->isFast() && + if (Q.CxtI->hasAllowReassoc() && match(IIOperand, m_Intrinsic<Intrinsic::log2>(m_Value(X)))) return X; return nullptr; } case Intrinsic::log: { // log(exp(x)) -> x - if (Q.CxtI->isFast() && + if (Q.CxtI->hasAllowReassoc() && match(IIOperand, m_Intrinsic<Intrinsic::exp>(m_Value(X)))) return X; return nullptr; } case Intrinsic::log2: { // log2(exp2(x)) -> x - if (Q.CxtI->isFast() && + if (Q.CxtI->hasAllowReassoc() && match(IIOperand, m_Intrinsic<Intrinsic::exp2>(m_Value(X)))) { return X; } |