Lines Matching refs:Known

57   KnownBits Known(BitWidth);  in SimplifyDemandedInstructionBits()  local
60 Value *V = SimplifyDemandedUseBits(&Inst, DemandedMask, Known, in SimplifyDemandedInstructionBits()
73 KnownBits &Known, unsigned Depth) { in SimplifyDemandedBits() argument
75 Value *NewVal = SimplifyDemandedUseBits(U.get(), DemandedMask, Known, in SimplifyDemandedBits()
109 KnownBits &Known, in SimplifyDemandedUseBits() argument
118 Known.getBitWidth() == BitWidth && in SimplifyDemandedUseBits()
122 computeKnownBits(V, Known, Depth, CxtI); in SimplifyDemandedUseBits()
126 Known.resetAll(); in SimplifyDemandedUseBits()
138 computeKnownBits(V, Known, Depth, CxtI); in SimplifyDemandedUseBits()
146 return SimplifyMultipleUseDemandedBits(I, DemandedMask, Known, Depth, CxtI); in SimplifyDemandedUseBits()
182 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
193 Known = LHSKnown & RHSKnown; in SimplifyDemandedUseBits()
197 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyDemandedUseBits()
198 return Constant::getIntegerValue(VTy, Known.One); in SimplifyDemandedUseBits()
222 Known = LHSKnown | RHSKnown; in SimplifyDemandedUseBits()
226 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyDemandedUseBits()
227 return Constant::getIntegerValue(VTy, Known.One); in SimplifyDemandedUseBits()
260 Known = LHSKnown ^ RHSKnown; in SimplifyDemandedUseBits()
264 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyDemandedUseBits()
265 return Constant::getIntegerValue(VTy, Known.One); in SimplifyDemandedUseBits()
379 Known = KnownBits::commonBits(LHSKnown, RHSKnown); in SimplifyDemandedUseBits()
409 Known = InputKnown.zextOrTrunc(BitWidth); in SimplifyDemandedUseBits()
410 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
430 if (SimplifyDemandedBits(I, 0, DemandedMask, Known, Depth + 1)) in SimplifyDemandedUseBits()
432 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
460 Known = InputKnown.sext(BitWidth); in SimplifyDemandedUseBits()
461 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
519 Known = KnownBits::computeForAddSub(I->getOpcode() == Instruction::Add, in SimplifyDemandedUseBits()
550 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
560 DemandedMask, Known)) in SimplifyDemandedUseBits()
592 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) in SimplifyDemandedUseBits()
594 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
596 bool SignBitZero = Known.Zero.isSignBitSet(); in SimplifyDemandedUseBits()
597 bool SignBitOne = Known.One.isSignBitSet(); in SimplifyDemandedUseBits()
598 Known.Zero <<= ShiftAmt; in SimplifyDemandedUseBits()
599 Known.One <<= ShiftAmt; in SimplifyDemandedUseBits()
602 Known.Zero.setLowBits(ShiftAmt); in SimplifyDemandedUseBits()
608 Known.Zero.setSignBit(); in SimplifyDemandedUseBits()
610 Known.One.setSignBit(); in SimplifyDemandedUseBits()
611 if (Known.hasConflict()) in SimplifyDemandedUseBits()
620 if (SimplifyDemandedBits(I, 0, DemandedFromOp, Known, Depth + 1)) { in SimplifyDemandedUseBits()
626 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
671 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) in SimplifyDemandedUseBits()
673 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
674 Known.Zero.lshrInPlace(ShiftAmt); in SimplifyDemandedUseBits()
675 Known.One.lshrInPlace(ShiftAmt); in SimplifyDemandedUseBits()
677 Known.Zero.setHighBits(ShiftAmt); // high bits known zero. in SimplifyDemandedUseBits()
679 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
719 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) in SimplifyDemandedUseBits()
722 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
726 Known.Zero.lshrInPlace(ShiftAmt); in SimplifyDemandedUseBits()
727 Known.One.lshrInPlace(ShiftAmt); in SimplifyDemandedUseBits()
732 if (Known.Zero[BitWidth-ShiftAmt-1] || in SimplifyDemandedUseBits()
738 } else if (Known.One[BitWidth-ShiftAmt-1]) { // New bits are known one. in SimplifyDemandedUseBits()
739 Known.One |= HighBits; in SimplifyDemandedUseBits()
742 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
762 Known.Zero.setHighBits(std::min( in SimplifyDemandedUseBits()
765 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
787 Known.Zero = LHSKnown.Zero & LowBits; in SimplifyDemandedUseBits()
788 Known.One = LHSKnown.One & LowBits; in SimplifyDemandedUseBits()
793 Known.Zero |= ~LowBits; in SimplifyDemandedUseBits()
798 Known.One |= ~LowBits; in SimplifyDemandedUseBits()
800 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
811 Known.makeNonNegative(); in SimplifyDemandedUseBits()
823 Known.Zero = APInt::getHighBitsSet(BitWidth, Leaders) & DemandedMask; in SimplifyDemandedUseBits()
893 Known.Zero = LHSKnown.Zero.shl(ShiftAmt) | in SimplifyDemandedUseBits()
895 Known.One = LHSKnown.One.shl(ShiftAmt) | in SimplifyDemandedUseBits()
926 *II, DemandedMask, Known, KnownBitsComputed); in SimplifyDemandedUseBits()
935 computeKnownBits(V, Known, Depth, CxtI); in SimplifyDemandedUseBits()
942 if (DemandedMask.isSubsetOf(Known.Zero|Known.One)) in SimplifyDemandedUseBits()
943 return Constant::getIntegerValue(VTy, Known.One); in SimplifyDemandedUseBits()
951 Instruction *I, const APInt &DemandedMask, KnownBits &Known, unsigned Depth, in SimplifyMultipleUseDemandedBits() argument
970 Known = LHSKnown & RHSKnown; in SimplifyMultipleUseDemandedBits()
974 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyMultipleUseDemandedBits()
975 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
996 Known = LHSKnown | RHSKnown; in SimplifyMultipleUseDemandedBits()
1000 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyMultipleUseDemandedBits()
1001 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1021 Known = LHSKnown ^ RHSKnown; in SimplifyMultipleUseDemandedBits()
1025 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyMultipleUseDemandedBits()
1026 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1039 computeKnownBits(I, Known, Depth, CxtI); in SimplifyMultipleUseDemandedBits()
1043 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyMultipleUseDemandedBits()
1044 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1066 computeKnownBits(I, Known, Depth, CxtI); in SimplifyMultipleUseDemandedBits()
1070 if (DemandedMask.isSubsetOf(Known.Zero|Known.One)) in SimplifyMultipleUseDemandedBits()
1071 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1098 const APInt &ShlOp1, const APInt &DemandedMask, KnownBits &Known) { in simplifyShrShlDemandedBits() argument
1111 Known.One.clearAllBits(); in simplifyShrShlDemandedBits()
1112 Known.Zero.setLowBits(ShlAmt - 1); in simplifyShrShlDemandedBits()
1113 Known.Zero &= DemandedMask; in simplifyShrShlDemandedBits()