Lines Matching refs:KnownZero
389 APInt &KnownZero, in SimplifyDemandedBits() argument
401 KnownZero = KnownOne = APInt(BitWidth, 0); in SimplifyDemandedBits()
408 TLO.DAG.computeKnownBits(Op, KnownZero, KnownOne, Depth); in SimplifyDemandedBits()
428 KnownZero = ~KnownOne; in SimplifyDemandedBits()
448 if (SimplifyDemandedBits(Op.getOperand(1), NewMask, KnownZero, in SimplifyDemandedBits()
451 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
452 if (SimplifyDemandedBits(Op.getOperand(0), ~KnownZero & NewMask, in SimplifyDemandedBits()
461 if ((NewMask & ~KnownZero & KnownOne2) == (~KnownZero & NewMask)) in SimplifyDemandedBits()
464 if ((NewMask & (KnownZero|KnownZero2)) == NewMask) in SimplifyDemandedBits()
476 KnownZero |= KnownZero2; in SimplifyDemandedBits()
479 if (SimplifyDemandedBits(Op.getOperand(1), NewMask, KnownZero, in SimplifyDemandedBits()
482 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
490 if ((NewMask & ~KnownOne2 & KnownZero) == (~KnownOne2 & NewMask)) in SimplifyDemandedBits()
496 if ((NewMask & ~KnownZero & KnownOne2) == (~KnownZero & NewMask)) in SimplifyDemandedBits()
508 KnownZero &= KnownZero2; in SimplifyDemandedBits()
513 if (SimplifyDemandedBits(Op.getOperand(1), NewMask, KnownZero, in SimplifyDemandedBits()
516 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
524 if ((KnownZero & NewMask) == NewMask) in SimplifyDemandedBits()
535 if ((NewMask & ~KnownZero & ~KnownZero2) == 0) in SimplifyDemandedBits()
541 KnownZeroOut = (KnownZero & KnownZero2) | (KnownOne & KnownOne2); in SimplifyDemandedBits()
543 KnownOneOut = (KnownZero & KnownOne2) | (KnownOne & KnownZero2); in SimplifyDemandedBits()
550 if ((NewMask & (KnownZero|KnownOne)) == NewMask) { // all known on one side in SimplifyDemandedBits()
579 KnownZero = KnownZeroOut; in SimplifyDemandedBits()
583 if (SimplifyDemandedBits(Op.getOperand(2), NewMask, KnownZero, in SimplifyDemandedBits()
589 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
598 KnownZero &= KnownZero2; in SimplifyDemandedBits()
601 if (SimplifyDemandedBits(Op.getOperand(3), NewMask, KnownZero, in SimplifyDemandedBits()
607 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
616 KnownZero &= KnownZero2; in SimplifyDemandedBits()
650 KnownZero, KnownOne, TLO, Depth+1)) in SimplifyDemandedBits()
699 KnownZero <<= SA->getZExtValue(); in SimplifyDemandedBits()
702 KnownZero |= APInt::getLowBitsSet(BitWidth, SA->getZExtValue()); in SimplifyDemandedBits()
746 KnownZero, KnownOne, TLO, Depth+1)) in SimplifyDemandedBits()
748 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
749 KnownZero = KnownZero.lshr(ShAmt); in SimplifyDemandedBits()
753 KnownZero |= HighBits; // High bits known zero. in SimplifyDemandedBits()
788 KnownZero, KnownOne, TLO, Depth+1)) in SimplifyDemandedBits()
790 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
791 KnownZero = KnownZero.lshr(ShAmt); in SimplifyDemandedBits()
799 if (KnownZero.intersects(SignBit) || (HighBits & ~NewMask) == HighBits) { in SimplifyDemandedBits()
872 KnownZero, KnownOne, TLO, Depth+1)) in SimplifyDemandedBits()
874 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
880 if (KnownZero.intersects(InSignBit)) in SimplifyDemandedBits()
886 KnownZero &= ~NewBits; in SimplifyDemandedBits()
888 KnownZero &= ~NewBits; in SimplifyDemandedBits()
911 KnownZero = KnownZeroLo.zext(BitWidth) | in SimplifyDemandedBits()
932 KnownZero, KnownOne, TLO, Depth+1)) in SimplifyDemandedBits()
934 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
935 KnownZero = KnownZero.zext(BitWidth); in SimplifyDemandedBits()
937 KnownZero |= NewBits; in SimplifyDemandedBits()
959 if (SimplifyDemandedBits(Op.getOperand(0), InDemandedBits, KnownZero, in SimplifyDemandedBits()
962 KnownZero = KnownZero.zext(BitWidth); in SimplifyDemandedBits()
966 if (KnownZero.intersects(InSignBit)) in SimplifyDemandedBits()
974 assert((KnownZero & NewBits) == 0); in SimplifyDemandedBits()
977 assert((KnownZero & NewBits) == 0); in SimplifyDemandedBits()
986 KnownZero, KnownOne, TLO, Depth+1)) in SimplifyDemandedBits()
988 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
989 KnownZero = KnownZero.zext(BitWidth); in SimplifyDemandedBits()
1000 KnownZero, KnownOne, TLO, Depth+1)) in SimplifyDemandedBits()
1002 KnownZero = KnownZero.trunc(BitWidth); in SimplifyDemandedBits()
1048 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
1058 KnownZero, KnownOne, TLO, Depth+1)) in SimplifyDemandedBits()
1060 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?"); in SimplifyDemandedBits()
1062 KnownZero |= ~InMask & NewMask; in SimplifyDemandedBits()
1113 TLO.DAG.computeKnownBits(Op, KnownZero, KnownOne, Depth); in SimplifyDemandedBits()
1119 if ((NewMask & (KnownZero|KnownOne)) == NewMask) { in SimplifyDemandedBits()
1140 APInt &KnownZero, in computeKnownBitsForTargetNode() argument
1150 KnownZero = KnownOne = APInt(KnownOne.getBitWidth(), 0); in computeKnownBitsForTargetNode()
1195 APInt KnownZero, KnownOne; in ValueHasExactlyOneBitSet() local
1196 DAG.computeKnownBits(Val, KnownZero, KnownOne); in ValueHasExactlyOneBitSet()
1197 return (KnownZero.countPopulation() == BitWidth - 1) && in ValueHasExactlyOneBitSet()