From b5fc14e6f818205c09eb67ed6e3b3f5a89dbea22 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Mon, 13 Nov 2017 17:40:47 +0000 Subject: [PATCH] [ValueTracking] simplify code in CannotBeNegativeZero() with match(); NFCI git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318055 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/ValueTracking.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/Analysis/ValueTracking.cpp b/lib/Analysis/ValueTracking.cpp index 9a0df74fd57..af35e4f88a8 100644 --- a/lib/Analysis/ValueTracking.cpp +++ b/lib/Analysis/ValueTracking.cpp @@ -2607,11 +2607,9 @@ bool llvm::CannotBeNegativeZero(const Value *V, const TargetLibraryInfo *TLI, if (FPO->hasNoSignedZeros()) return true; - // (add x, 0.0) is guaranteed to return +0.0, not -0.0. - if (I->getOpcode() == Instruction::FAdd) - if (ConstantFP *CFP = dyn_cast(I->getOperand(1))) - if (CFP->isNullValue()) - return true; + // (fadd x, 0.0) is guaranteed to return +0.0, not -0.0. + if (match(I, m_FAdd(m_Value(), m_Zero()))) + return true; // sitofp and uitofp turn into +0.0 for zero. if (isa(I) || isa(I)) -- 2.11.0