From: Roman Lebedev Date: Mon, 23 Sep 2019 16:04:32 +0000 (+0000) Subject: [InstCombine] foldUnsignedUnderflowCheck(): s/Subtracted/ZeroCmpOp/ X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da95cdbfb40d71718f5c5442c9e538c783d84fcd;p=llvm [InstCombine] foldUnsignedUnderflowCheck(): s/Subtracted/ZeroCmpOp/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372625 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp index 9f901355b98..affd12748bc 100644 --- a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp +++ b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp @@ -1055,23 +1055,23 @@ static Value *foldUnsignedUnderflowCheck(ICmpInst *ZeroICmp, ICmpInst *UnsignedICmp, bool IsAnd, const SimplifyQuery &Q, InstCombiner::BuilderTy &Builder) { - Value *Subtracted; + Value *ZeroCmpOp; ICmpInst::Predicate EqPred; - if (!match(ZeroICmp, m_ICmp(EqPred, m_Value(Subtracted), m_Zero())) || + if (!match(ZeroICmp, m_ICmp(EqPred, m_Value(ZeroCmpOp), m_Zero())) || !ICmpInst::isEquality(EqPred)) return nullptr; Value *Base, *Offset; - if (!match(Subtracted, m_Sub(m_Value(Base), m_Value(Offset)))) + if (!match(ZeroCmpOp, m_Sub(m_Value(Base), m_Value(Offset)))) return nullptr; ICmpInst::Predicate UnsignedPred; - // Subtracted < Base && Subtracted != 0 --> Base > Offset iff Offset != 0 - // Subtracted >= Base || Subtracted == 0 --> Base <= Base iff Offset != 0 + // ZeroCmpOp < Base && ZeroCmpOp != 0 --> Base > Offset iff Offset != 0 + // ZeroCmpOp >= Base || ZeroCmpOp == 0 --> Base <= Base iff Offset != 0 if (match(UnsignedICmp, - m_c_ICmp(UnsignedPred, m_Specific(Subtracted), m_Specific(Base)))) { - if (UnsignedICmp->getOperand(0) != Subtracted) + m_c_ICmp(UnsignedPred, m_Specific(ZeroCmpOp), m_Specific(Base)))) { + if (UnsignedICmp->getOperand(0) != ZeroCmpOp) UnsignedPred = ICmpInst::getSwappedPredicate(UnsignedPred); if (UnsignedPred == ICmpInst::ICMP_ULT && IsAnd &&