Lines Matching refs:KnownOne

364 /// analyze the expression and return a mask of KnownOne and KnownZero bits for
370 APInt &KnownOne,
380 KnownZero = KnownOne = APInt(BitWidth, 0);
385 // If not at the root, Just compute the KnownZero/KnownOne bits to
387 TLO.DAG.ComputeMaskedBits(Op, KnownZero, KnownOne, Depth);
406 KnownOne = cast<ConstantSDNode>(Op)->getAPIntValue();
407 KnownZero = ~KnownOne;
428 KnownOne, TLO, Depth+1))
430 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
438 if ((NewMask & ~KnownZero2 & KnownOne) == (~KnownZero2 & NewMask))
453 KnownOne &= KnownOne2;
459 KnownOne, TLO, Depth+1))
461 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
462 if (SimplifyDemandedBits(Op.getOperand(0), ~KnownOne & NewMask,
471 if ((NewMask & ~KnownOne & KnownZero2) == (~KnownOne & NewMask))
477 if ((NewMask & ~KnownZero2 & KnownOne) == (~KnownZero2 & NewMask))
489 KnownOne |= KnownOne2;
493 KnownOne, TLO, Depth+1))
495 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
520 KnownZeroOut = (KnownZero & KnownZero2) | (KnownOne & KnownOne2);
522 KnownOneOut = (KnownZero & KnownOne2) | (KnownOne & KnownZero2);
529 if ((NewMask & (KnownZero|KnownOne)) == NewMask) { // all known on one side
530 if (KnownOne == KnownOne2) { // set bits are the same on both sides
532 SDValue ANDC = TLO.DAG.getConstant(~KnownOne & NewMask, VT);
559 KnownOne = KnownOneOut;
563 KnownOne, TLO, Depth+1))
568 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
576 KnownOne &= KnownOne2;
581 KnownOne, TLO, Depth+1))
586 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
594 KnownOne &= KnownOne2;
629 KnownZero, KnownOne, TLO, Depth+1))
679 KnownOne <<= SA->getZExtValue();
718 KnownZero, KnownOne, TLO, Depth+1))
720 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
722 KnownOne = KnownOne.lshr(ShAmt);
755 KnownZero, KnownOne, TLO, Depth+1))
757 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
759 KnownOne = KnownOne.lshr(ShAmt);
781 if (KnownOne.intersects(SignBit))
783 KnownOne |= HighBits;
828 KnownZero, KnownOne, TLO, Depth+1))
830 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
840 if (KnownOne.intersects(InSignBit)) { // Input sign bit known set
841 KnownOne |= NewBits;
845 KnownOne &= ~NewBits;
863 KnownZero, KnownOne, TLO, Depth+1))
865 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
867 KnownOne = KnownOne.zext(BitWidth);
891 KnownOne, TLO, Depth+1))
894 KnownOne = KnownOne.zext(BitWidth);
903 if (KnownOne.intersects(InSignBit)) {
904 KnownOne |= NewBits;
907 assert((KnownOne & NewBits) == 0);
917 KnownZero, KnownOne, TLO, Depth+1))
919 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
921 KnownOne = KnownOne.zext(BitWidth);
931 KnownZero, KnownOne, TLO, Depth+1))
934 KnownOne = KnownOne.trunc(BitWidth);
979 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
989 KnownZero, KnownOne, TLO, Depth+1))
991 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1042 TLO.DAG.ComputeMaskedBits(Op, KnownZero, KnownOne, Depth);
1048 if ((NewMask & (KnownZero|KnownOne)) == NewMask)
1049 return TLO.CombineTo(Op, TLO.DAG.getConstant(KnownOne, Op.getValueType()));
1056 /// KnownZero/KnownOne bitsets.
1059 APInt &KnownOne,
1068 KnownZero = KnownOne = APInt(KnownOne.getBitWidth(), 0);
1112 APInt KnownZero, KnownOne;
1113 DAG.ComputeMaskedBits(Val, KnownZero, KnownOne);
1115 (KnownOne.countPopulation() == 1);