diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp index 8c0fd66225513..eab2c8bd8efde 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp @@ -1848,8 +1848,8 @@ Instruction *InstCombinerImpl::foldICmpAndConstant(ICmpInst &Cmp, auto NewPred = TrueIfNeg ? CmpInst::ICMP_EQ : CmpInst::ICMP_NE; return new ICmpInst(NewPred, X, ConstantInt::getNullValue(X->getType())); } - // (X & X) < 0 --> X == MinSignedC - // (X & X) > -1 --> X != MinSignedC + // (X & -X) < 0 --> X == MinSignedC + // (X & -X) > -1 --> X != MinSignedC if (match(And, m_c_And(m_Neg(m_Value(X)), m_Deferred(X)))) { Constant *MinSignedC = ConstantInt::get( X->getType(),