Lines Matching refs:Known

69                                                        KnownBits &Known) {  in SimplifyDemandedInstructionBits()  argument
70 APInt DemandedMask(APInt::getAllOnes(Known.getBitWidth())); in SimplifyDemandedInstructionBits()
71 Value *V = SimplifyDemandedUseBits(&Inst, DemandedMask, Known, in SimplifyDemandedInstructionBits()
82 KnownBits Known(getBitWidth(Inst.getType(), DL)); in SimplifyDemandedInstructionBits() local
83 return SimplifyDemandedInstructionBits(Inst, Known); in SimplifyDemandedInstructionBits()
91 KnownBits &Known, unsigned Depth) { in SimplifyDemandedBits() argument
93 Value *NewVal = SimplifyDemandedUseBits(U.get(), DemandedMask, Known, in SimplifyDemandedBits()
127 KnownBits &Known, in SimplifyDemandedUseBits() argument
136 Known.getBitWidth() == BitWidth && in SimplifyDemandedUseBits()
140 computeKnownBits(V, Known, Depth, CxtI); in SimplifyDemandedUseBits()
144 Known.resetAll(); in SimplifyDemandedUseBits()
153 computeKnownBits(V, Known, Depth, CxtI); in SimplifyDemandedUseBits()
161 return SimplifyMultipleUseDemandedBits(I, DemandedMask, Known, Depth, CxtI); in SimplifyDemandedUseBits()
204 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
215 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown, in SimplifyDemandedUseBits()
220 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyDemandedUseBits()
221 return Constant::getIntegerValue(VTy, Known.One); in SimplifyDemandedUseBits()
248 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown, in SimplifyDemandedUseBits()
253 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyDemandedUseBits()
254 return Constant::getIntegerValue(VTy, Known.One); in SimplifyDemandedUseBits()
297 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown, in SimplifyDemandedUseBits()
302 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyDemandedUseBits()
303 return Constant::getIntegerValue(VTy, Known.One); in SimplifyDemandedUseBits()
419 Known = LHSKnown.intersectWith(RHSKnown); in SimplifyDemandedUseBits()
456 Known = InputKnown.zextOrTrunc(BitWidth); in SimplifyDemandedUseBits()
458 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
488 Known = InputKnown.sext(BitWidth); in SimplifyDemandedUseBits()
489 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
568 Known = KnownBits::computeForAddSub(true, NSW, LHSKnown, RHSKnown); in SimplifyDemandedUseBits()
601 Known = KnownBits::computeForAddSub(false, NSW, LHSKnown, RHSKnown); in SimplifyDemandedUseBits()
630 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
640 DemandedMask, Known)) in SimplifyDemandedUseBits()
674 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) in SimplifyDemandedUseBits()
676 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
678 Known = KnownBits::shl(Known, in SimplifyDemandedUseBits()
688 if (SimplifyDemandedBits(I, 0, DemandedFromOp, Known, Depth + 1)) { in SimplifyDemandedUseBits()
694 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
734 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) { in SimplifyDemandedUseBits()
739 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
740 Known.Zero.lshrInPlace(ShiftAmt); in SimplifyDemandedUseBits()
741 Known.One.lshrInPlace(ShiftAmt); in SimplifyDemandedUseBits()
743 Known.Zero.setHighBits(ShiftAmt); // high bits known zero. in SimplifyDemandedUseBits()
745 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
780 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) { in SimplifyDemandedUseBits()
786 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
790 Known.Zero.lshrInPlace(ShiftAmt); in SimplifyDemandedUseBits()
791 Known.One.lshrInPlace(ShiftAmt); in SimplifyDemandedUseBits()
796 if (Known.Zero[BitWidth-ShiftAmt-1] || in SimplifyDemandedUseBits()
803 } else if (Known.One[BitWidth-ShiftAmt-1]) { // New bits are known one. in SimplifyDemandedUseBits()
804 Known.One |= HighBits; in SimplifyDemandedUseBits()
807 Known.Zero &= ~HighBits; in SimplifyDemandedUseBits()
810 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
829 Known = KnownBits::udiv(LHSKnown, KnownBits::makeConstant(*SA), in SimplifyDemandedUseBits()
832 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
854 Known.Zero = LHSKnown.Zero & LowBits; in SimplifyDemandedUseBits()
855 Known.One = LHSKnown.One & LowBits; in SimplifyDemandedUseBits()
860 Known.Zero |= ~LowBits; in SimplifyDemandedUseBits()
865 Known.One |= ~LowBits; in SimplifyDemandedUseBits()
867 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); in SimplifyDemandedUseBits()
872 computeKnownBits(I, Known, Depth, CxtI); in SimplifyDemandedUseBits()
881 Known = KnownBits::urem(LHSKnown, RHSKnown); in SimplifyDemandedUseBits()
948 Known = LHSKnown & RHSKnown; in SimplifyDemandedUseBits()
955 if (DemandedMask.isSubsetOf(Known.Zero) && in SimplifyDemandedUseBits()
1012 Known.Zero = LHSKnown.Zero.shl(ShiftAmt) | in SimplifyDemandedUseBits()
1014 Known.One = LHSKnown.One.shl(ShiftAmt) | in SimplifyDemandedUseBits()
1045 *II, DemandedMask, Known, KnownBitsComputed); in SimplifyDemandedUseBits()
1054 computeKnownBits(V, Known, Depth, CxtI); in SimplifyDemandedUseBits()
1061 Known.Zero.setLowBits(Log2(Alignment)); in SimplifyDemandedUseBits()
1068 if (!V->getType()->isPointerTy() && DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyDemandedUseBits()
1069 return Constant::getIntegerValue(VTy, Known.One); in SimplifyDemandedUseBits()
1073 if (Known != ReferenceKnown) { in SimplifyDemandedUseBits()
1077 errs() << "SimplifyDemandedBits(): " << Known << "\n"; in SimplifyDemandedUseBits()
1089 Instruction *I, const APInt &DemandedMask, KnownBits &Known, unsigned Depth, in SimplifyMultipleUseDemandedBits() argument
1105 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown, in SimplifyMultipleUseDemandedBits()
1107 computeKnownBitsFromContext(I, Known, Depth, SQ.getWithInstruction(CxtI)); in SimplifyMultipleUseDemandedBits()
1111 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyMultipleUseDemandedBits()
1112 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1126 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown, in SimplifyMultipleUseDemandedBits()
1128 computeKnownBitsFromContext(I, Known, Depth, SQ.getWithInstruction(CxtI)); in SimplifyMultipleUseDemandedBits()
1132 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyMultipleUseDemandedBits()
1133 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1149 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown, in SimplifyMultipleUseDemandedBits()
1151 computeKnownBitsFromContext(I, Known, Depth, SQ.getWithInstruction(CxtI)); in SimplifyMultipleUseDemandedBits()
1155 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyMultipleUseDemandedBits()
1156 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1183 Known = KnownBits::computeForAddSub(/*Add*/ true, NSW, LHSKnown, RHSKnown); in SimplifyMultipleUseDemandedBits()
1184 computeKnownBitsFromContext(I, Known, Depth, SQ.getWithInstruction(CxtI)); in SimplifyMultipleUseDemandedBits()
1199 Known = KnownBits::computeForAddSub(/*Add*/ false, NSW, LHSKnown, RHSKnown); in SimplifyMultipleUseDemandedBits()
1200 computeKnownBitsFromContext(I, Known, Depth, SQ.getWithInstruction(CxtI)); in SimplifyMultipleUseDemandedBits()
1205 computeKnownBits(I, Known, Depth, CxtI); in SimplifyMultipleUseDemandedBits()
1209 if (DemandedMask.isSubsetOf(Known.Zero | Known.One)) in SimplifyMultipleUseDemandedBits()
1210 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1232 computeKnownBits(I, Known, Depth, CxtI); in SimplifyMultipleUseDemandedBits()
1236 if (DemandedMask.isSubsetOf(Known.Zero|Known.One)) in SimplifyMultipleUseDemandedBits()
1237 return Constant::getIntegerValue(ITy, Known.One); in SimplifyMultipleUseDemandedBits()
1264 const APInt &ShlOp1, const APInt &DemandedMask, KnownBits &Known) { in simplifyShrShlDemandedBits() argument
1277 Known.One.clearAllBits(); in simplifyShrShlDemandedBits()
1278 Known.Zero.setLowBits(ShlAmt - 1); in simplifyShrShlDemandedBits()
1279 Known.Zero &= DemandedMask; in simplifyShrShlDemandedBits()