reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
5424 if (match(BO.getOperand(1), m_APInt(C)) && !C->isNullValue()) { 5424 if (match(BO.getOperand(1), m_APInt(C)) && !C->isNullValue()) { 5428 Lower = *C; 5430 if (C->isNegative()) { 5433 Upper = APInt::getSignedMaxValue(Width) + *C + 1; 5436 Lower = APInt::getSignedMinValue(Width) + *C; 5444 if (match(BO.getOperand(1), m_APInt(C))) 5446 Upper = *C + 1; 5450 if (match(BO.getOperand(1), m_APInt(C))) 5452 Lower = *C; 5456 if (match(BO.getOperand(1), m_APInt(C)) && C->ult(Width)) { 5456 if (match(BO.getOperand(1), m_APInt(C)) && C->ult(Width)) { 5458 Lower = APInt::getSignedMinValue(Width).ashr(*C); 5459 Upper = APInt::getSignedMaxValue(Width).ashr(*C) + 1; 5460 } else if (match(BO.getOperand(0), m_APInt(C))) { 5462 if (!C->isNullValue() && IIQ.isExact(&BO)) 5463 ShiftAmount = C->countTrailingZeros(); 5464 if (C->isNegative()) { 5466 Lower = *C; 5467 Upper = C->ashr(ShiftAmount) + 1; 5470 Lower = C->ashr(ShiftAmount); 5471 Upper = *C + 1; 5477 if (match(BO.getOperand(1), m_APInt(C)) && C->ult(Width)) { 5477 if (match(BO.getOperand(1), m_APInt(C)) && C->ult(Width)) { 5479 Upper = APInt::getAllOnesValue(Width).lshr(*C) + 1; 5480 } else if (match(BO.getOperand(0), m_APInt(C))) { 5483 if (!C->isNullValue() && IIQ.isExact(&BO)) 5484 ShiftAmount = C->countTrailingZeros(); 5485 Lower = C->lshr(ShiftAmount); 5486 Upper = *C + 1; 5491 if (match(BO.getOperand(0), m_APInt(C))) { 5494 Lower = *C; 5497 if (C->isNegative()) { 5499 unsigned ShiftAmount = C->countLeadingOnes() - 1; 5500 Lower = C->shl(ShiftAmount); 5501 Upper = *C + 1; 5504 unsigned ShiftAmount = C->countLeadingZeros() - 1; 5505 Lower = *C; 5506 Upper = C->shl(ShiftAmount) + 1; 5513 if (match(BO.getOperand(1), m_APInt(C))) { 5516 if (C->isAllOnesValue()) { 5521 } else if (C->countLeadingZeros() < Width - 1) { 5524 Lower = IntMin.sdiv(*C); 5525 Upper = IntMax.sdiv(*C); 5531 } else if (match(BO.getOperand(0), m_APInt(C))) { 5532 if (C->isMinSignedValue()) { 5534 Lower = *C; 5538 Upper = C->abs() + 1; 5545 if (match(BO.getOperand(1), m_APInt(C)) && !C->isNullValue()) { 5545 if (match(BO.getOperand(1), m_APInt(C)) && !C->isNullValue()) { 5547 Upper = APInt::getMaxValue(Width).udiv(*C) + 1; 5548 } else if (match(BO.getOperand(0), m_APInt(C))) { 5550 Upper = *C + 1; 5555 if (match(BO.getOperand(1), m_APInt(C))) { 5557 Upper = C->abs(); 5563 if (match(BO.getOperand(1), m_APInt(C))) 5565 Upper = *C;