forked from OSchip/llvm-project
[Analysis][Transforms] Use commutable matchers instead of m_CombineOr in a few places. NFC
llvm-svn: 306204
This commit is contained in:
parent
c948178af8
commit
72ee6945af
|
@ -2688,16 +2688,14 @@ static Value *simplifyICmpWithBinOp(CmpInst::Predicate Pred, Value *LHS,
|
|||
}
|
||||
|
||||
// icmp pred (and X, Y), X
|
||||
if (LBO && match(LBO, m_CombineOr(m_And(m_Value(), m_Specific(RHS)),
|
||||
m_And(m_Specific(RHS), m_Value())))) {
|
||||
if (LBO && match(LBO, m_c_And(m_Value(), m_Specific(RHS)))) {
|
||||
if (Pred == ICmpInst::ICMP_UGT)
|
||||
return getFalse(ITy);
|
||||
if (Pred == ICmpInst::ICMP_ULE)
|
||||
return getTrue(ITy);
|
||||
}
|
||||
// icmp pred X, (and X, Y)
|
||||
if (RBO && match(RBO, m_CombineOr(m_And(m_Value(), m_Specific(LHS)),
|
||||
m_And(m_Specific(LHS), m_Value())))) {
|
||||
if (RBO && match(RBO, m_c_And(m_Value(), m_Specific(LHS)))) {
|
||||
if (Pred == ICmpInst::ICMP_UGE)
|
||||
return getTrue(ITy);
|
||||
if (Pred == ICmpInst::ICMP_ULT)
|
||||
|
|
|
@ -3198,8 +3198,7 @@ Instruction *InstCombiner::foldICmpBinOp(ICmpInst &I) {
|
|||
if (BO0) {
|
||||
// Transform A & (L - 1) `ult` L --> L != 0
|
||||
auto LSubOne = m_Add(m_Specific(Op1), m_AllOnes());
|
||||
auto BitwiseAnd =
|
||||
m_CombineOr(m_And(m_Value(), LSubOne), m_And(LSubOne, m_Value()));
|
||||
auto BitwiseAnd = m_c_And(m_Value(), LSubOne);
|
||||
|
||||
if (match(BO0, BitwiseAnd) && Pred == ICmpInst::ICMP_ULT) {
|
||||
auto *Zero = Constant::getNullValue(BO0->getType());
|
||||
|
|
|
@ -88,8 +88,7 @@ RecurrenceDescriptor::lookThroughAnd(PHINode *Phi, Type *&RT,
|
|||
|
||||
// Matches either I & 2^x-1 or 2^x-1 & I. If we find a match, we update RT
|
||||
// with a new integer type of the corresponding bit width.
|
||||
if (match(J, m_CombineOr(m_And(m_Instruction(I), m_APInt(M)),
|
||||
m_And(m_APInt(M), m_Instruction(I))))) {
|
||||
if (match(J, m_c_And(m_Instruction(I), m_APInt(M)))) {
|
||||
int32_t Bits = (*M + 1).exactLogBase2();
|
||||
if (Bits > 0) {
|
||||
RT = IntegerType::get(Phi->getContext(), Bits);
|
||||
|
|
Loading…
Reference in New Issue