reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Analysis/ValueTracking.cpp
 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;