Lines Matching defs:KnownOne

346 /// analyze the expression and return a mask of KnownOne and KnownZero bits for
352 APInt &KnownOne,
362 KnownZero = KnownOne = APInt(BitWidth, 0);
367 // If not at the root, Just compute the KnownZero/KnownOne bits to
369 TLO.DAG.ComputeMaskedBits(Op, KnownZero, KnownOne, Depth);
388 KnownOne = cast<ConstantSDNode>(Op)->getAPIntValue();
389 KnownZero = ~KnownOne;
410 KnownOne, TLO, Depth+1))
412 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
420 if ((NewMask & ~KnownZero2 & KnownOne) == (~KnownZero2 & NewMask))
435 KnownOne &= KnownOne2;
441 KnownOne, TLO, Depth+1))
443 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
444 if (SimplifyDemandedBits(Op.getOperand(0), ~KnownOne & NewMask,
453 if ((NewMask & ~KnownOne & KnownZero2) == (~KnownOne & NewMask))
459 if ((NewMask & ~KnownZero2 & KnownOne) == (~KnownZero2 & NewMask))
471 KnownOne |= KnownOne2;
475 KnownOne, TLO, Depth+1))
477 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
502 KnownZeroOut = (KnownZero & KnownZero2) | (KnownOne & KnownOne2);
504 KnownOneOut = (KnownZero & KnownOne2) | (KnownOne & KnownZero2);
511 if ((NewMask & (KnownZero|KnownOne)) == NewMask) { // all known on one side
512 if (KnownOne == KnownOne2) { // set bits are the same on both sides
514 SDValue ANDC = TLO.DAG.getConstant(~KnownOne & NewMask, VT);
541 KnownOne = KnownOneOut;
545 KnownOne, TLO, Depth+1))
550 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
558 KnownOne &= KnownOne2;
563 KnownOne, TLO, Depth+1))
568 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
576 KnownOne &= KnownOne2;
611 KnownZero, KnownOne, TLO, Depth+1))
636 KnownOne <<= SA->getZExtValue();
675 KnownZero, KnownOne, TLO, Depth+1))
677 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
679 KnownOne = KnownOne.lshr(ShAmt);
712 KnownZero, KnownOne, TLO, Depth+1))
714 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
716 KnownOne = KnownOne.lshr(ShAmt);
727 } else if (KnownOne.intersects(SignBit)) { // New bits are known one.
728 KnownOne |= HighBits;
774 KnownZero, KnownOne, TLO, Depth+1))
776 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
786 if (KnownOne.intersects(InSignBit)) { // Input sign bit known set
787 KnownOne |= NewBits;
791 KnownOne &= ~NewBits;
809 KnownZero, KnownOne, TLO, Depth+1))
811 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
813 KnownOne = KnownOne.zext(BitWidth);
837 KnownOne, TLO, Depth+1))
840 KnownOne = KnownOne.zext(BitWidth);
849 if (KnownOne.intersects(InSignBit)) {
850 KnownOne |= NewBits;
853 assert((KnownOne & NewBits) == 0);
863 KnownZero, KnownOne, TLO, Depth+1))
865 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
867 KnownOne = KnownOne.zext(BitWidth);
877 KnownZero, KnownOne, TLO, Depth+1))
880 KnownOne = KnownOne.trunc(BitWidth);
925 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
935 KnownZero, KnownOne, TLO, Depth+1))
937 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
988 TLO.DAG.ComputeMaskedBits(Op, KnownZero, KnownOne, Depth);
994 if ((NewMask & (KnownZero|KnownOne)) == NewMask)
995 return TLO.CombineTo(Op, TLO.DAG.getConstant(KnownOne, Op.getValueType()));
1002 /// KnownZero/KnownOne bitsets.
1005 APInt &KnownOne,
1014 KnownZero = KnownOne = APInt(KnownOne.getBitWidth(), 0);
1058 APInt KnownZero, KnownOne;
1059 DAG.ComputeMaskedBits(Val, KnownZero, KnownOne);
1061 (KnownOne.countPopulation() == 1);