Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:KnownOne

384 /// analyze the expression and return a mask of KnownOne and KnownZero bits for
390 APInt &KnownOne,
401 KnownZero = KnownOne = APInt(BitWidth, 0);
406 // If not at the root, Just compute the KnownZero/KnownOne bits to
408 TLO.DAG.computeKnownBits(Op, KnownZero, KnownOne, Depth);
427 KnownOne = cast<ConstantSDNode>(Op)->getAPIntValue();
428 KnownZero = ~KnownOne;
449 KnownOne, TLO, Depth+1))
451 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
459 if ((NewMask & ~KnownZero2 & KnownOne) == (~KnownZero2 & NewMask))
474 KnownOne &= KnownOne2;
480 KnownOne, TLO, Depth+1))
482 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
483 if (SimplifyDemandedBits(Op.getOperand(0), ~KnownOne & NewMask,
492 if ((NewMask & ~KnownOne & KnownZero2) == (~KnownOne & NewMask))
498 if ((NewMask & ~KnownZero2 & KnownOne) == (~KnownZero2 & NewMask))
510 KnownOne |= KnownOne2;
514 KnownOne, TLO, Depth+1))
516 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
541 KnownZeroOut = (KnownZero & KnownZero2) | (KnownOne & KnownOne2);
543 KnownOneOut = (KnownZero & KnownOne2) | (KnownOne & KnownZero2);
550 if ((NewMask & (KnownZero|KnownOne)) == NewMask) { // all known on one side
551 if (KnownOne == KnownOne2) { // set bits are the same on both sides
553 SDValue ANDC = TLO.DAG.getConstant(~KnownOne & NewMask, dl, VT);
580 KnownOne = KnownOneOut;
584 KnownOne, TLO, Depth+1))
589 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
597 KnownOne &= KnownOne2;
602 KnownOne, TLO, Depth+1))
607 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
615 KnownOne &= KnownOne2;
650 KnownZero, KnownOne, TLO, Depth+1))
700 KnownOne <<= SA->getZExtValue();
746 KnownZero, KnownOne, TLO, Depth+1))
748 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
750 KnownOne = KnownOne.lshr(ShAmt);
788 KnownZero, KnownOne, TLO, Depth+1))
790 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
792 KnownOne = KnownOne.lshr(ShAmt);
817 if (KnownOne.intersects(SignBit))
819 KnownOne |= HighBits;
872 KnownZero, KnownOne, TLO, Depth+1))
874 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
884 if (KnownOne.intersects(InSignBit)) { // Input sign bit known set
885 KnownOne |= NewBits;
889 KnownOne &= ~NewBits;
914 KnownOne = KnownOneLo.zext(BitWidth) |
932 KnownZero, KnownOne, TLO, Depth+1))
934 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
936 KnownOne = KnownOne.zext(BitWidth);
960 KnownOne, TLO, Depth+1))
963 KnownOne = KnownOne.zext(BitWidth);
972 if (KnownOne.intersects(InSignBit)) {
973 KnownOne |= NewBits;
976 assert((KnownOne & NewBits) == 0);
986 KnownZero, KnownOne, TLO, Depth+1))
988 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
990 KnownOne = KnownOne.zext(BitWidth);
1000 KnownZero, KnownOne, TLO, Depth+1))
1003 KnownOne = KnownOne.trunc(BitWidth);
1048 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1058 KnownZero, KnownOne, TLO, Depth+1))
1060 assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
1113 TLO.DAG.computeKnownBits(Op, KnownZero, KnownOne, Depth);
1119 if ((NewMask & (KnownZero|KnownOne)) == NewMask) {
1130 TLO.DAG.getConstant(KnownOne, dl, Op.getValueType()));
1138 /// KnownZero/KnownOne bitsets.
1141 APInt &KnownOne,
1150 KnownZero = KnownOne = APInt(KnownOne.getBitWidth(), 0);
1195 APInt KnownZero, KnownOne;
1196 DAG.computeKnownBits(Val, KnownZero, KnownOne);
1198 (KnownOne.countPopulation() == 1);