Lines Matching refs:DemandedMask

68   APInt DemandedMask(APInt::getAllOnesValue(BitWidth));  in SimplifyDemandedInstructionBits()  local
70 Value *V = SimplifyDemandedUseBits(&Inst, DemandedMask, Known, in SimplifyDemandedInstructionBits()
82 const APInt &DemandedMask, in SimplifyDemandedBits() argument
86 Value *NewVal = SimplifyDemandedUseBits(U.get(), DemandedMask, Known, in SimplifyDemandedBits()
117 Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask, in SimplifyDemandedUseBits() argument
122 uint32_t BitWidth = DemandedMask.getBitWidth(); in SimplifyDemandedUseBits()
135 if (DemandedMask.isNullValue()) // Not demanding any bits from V. in SimplifyDemandedUseBits()
151 return SimplifyMultipleUseDemandedBits(I, DemandedMask, Known, Depth, CxtI); in SimplifyDemandedUseBits()
160 DemandedMask.setAllBits(); in SimplifyDemandedUseBits()
168 if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) || in SimplifyDemandedUseBits()
169 SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.Zero, LHSKnown, in SimplifyDemandedUseBits()
182 if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne)) in SimplifyDemandedUseBits()
187 if (DemandedMask.isSubsetOf(LHSKnown.Zero | RHSKnown.One)) in SimplifyDemandedUseBits()
189 if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.One)) in SimplifyDemandedUseBits()
193 if (ShrinkDemandedConstant(I, 1, DemandedMask & ~LHSKnown.Zero)) in SimplifyDemandedUseBits()
202 if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) || in SimplifyDemandedUseBits()
203 SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.One, LHSKnown, in SimplifyDemandedUseBits()
216 if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne)) in SimplifyDemandedUseBits()
221 if (DemandedMask.isSubsetOf(LHSKnown.One | RHSKnown.Zero)) in SimplifyDemandedUseBits()
223 if (DemandedMask.isSubsetOf(RHSKnown.One | LHSKnown.Zero)) in SimplifyDemandedUseBits()
227 if (ShrinkDemandedConstant(I, 1, DemandedMask)) in SimplifyDemandedUseBits()
235 if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) || in SimplifyDemandedUseBits()
236 SimplifyDemandedBits(I, 0, DemandedMask, LHSKnown, Depth + 1)) in SimplifyDemandedUseBits()
250 if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne)) in SimplifyDemandedUseBits()
255 if (DemandedMask.isSubsetOf(RHSKnown.Zero)) in SimplifyDemandedUseBits()
257 if (DemandedMask.isSubsetOf(LHSKnown.Zero)) in SimplifyDemandedUseBits()
263 if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.Zero)) { in SimplifyDemandedUseBits()
274 if (DemandedMask.isSubsetOf(RHSKnown.Zero|RHSKnown.One) && in SimplifyDemandedUseBits()
277 ~RHSKnown.One & DemandedMask); in SimplifyDemandedUseBits()
284 if (ShrinkDemandedConstant(I, 1, DemandedMask)) in SimplifyDemandedUseBits()
295 (LHSKnown.One & RHSKnown.One & DemandedMask) != 0) { in SimplifyDemandedUseBits()
298 APInt NewMask = ~(LHSKnown.One & RHSKnown.One & DemandedMask); in SimplifyDemandedUseBits()
325 unsigned CTZ = DemandedMask.countTrailingZeros(); in SimplifyDemandedUseBits()
334 unsigned CTZ = DemandedMask.countTrailingZeros(); in SimplifyDemandedUseBits()
345 if (SimplifyDemandedBits(I, 2, DemandedMask, RHSKnown, Depth + 1) || in SimplifyDemandedUseBits()
346 SimplifyDemandedBits(I, 1, DemandedMask, LHSKnown, Depth + 1)) in SimplifyDemandedUseBits()
352 if (ShrinkDemandedConstant(I, 1, DemandedMask) || in SimplifyDemandedUseBits()
353 ShrinkDemandedConstant(I, 2, DemandedMask)) in SimplifyDemandedUseBits()
365 APInt InputDemandedMask = DemandedMask.zextOrTrunc(SrcBitWidth); in SimplifyDemandedUseBits()
393 if (SimplifyDemandedBits(I, 0, DemandedMask, Known, Depth + 1)) in SimplifyDemandedUseBits()
401 APInt InputDemandedBits = DemandedMask.trunc(SrcBitWidth); in SimplifyDemandedUseBits()
405 if (DemandedMask.getActiveBits() > SrcBitWidth) in SimplifyDemandedUseBits()
415 DemandedMask.getActiveBits() <= SrcBitWidth) { in SimplifyDemandedUseBits()
431 unsigned NLZ = DemandedMask.countLeadingZeros(); in SimplifyDemandedUseBits()
474 DemandedMask, Known)) in SimplifyDemandedUseBits()
478 APInt DemandedMaskIn(DemandedMask.lshr(ShiftAmt)); in SimplifyDemandedUseBits()
504 APInt DemandedMaskIn(DemandedMask.shl(ShiftAmt)); in SimplifyDemandedUseBits()
526 if (DemandedMask.isOneValue()) { in SimplifyDemandedUseBits()
535 if (DemandedMask.isSignMask()) in SimplifyDemandedUseBits()
543 APInt DemandedMaskIn(DemandedMask.shl(ShiftAmt)); in SimplifyDemandedUseBits()
546 if (DemandedMask.countLeadingZeros() <= ShiftAmt) in SimplifyDemandedUseBits()
570 !DemandedMask.intersects(HighBits)) { in SimplifyDemandedUseBits()
610 if (DemandedMask.ult(RA)) // srem won't affect demanded bits in SimplifyDemandedUseBits()
639 if (DemandedMask.isSignBitSet()) { in SimplifyDemandedUseBits()
654 Known.Zero = APInt::getHighBitsSet(BitWidth, Leaders) & DemandedMask; in SimplifyDemandedUseBits()
664 unsigned NLZ = DemandedMask.countLeadingZeros(); in SimplifyDemandedUseBits()
665 unsigned NTZ = DemandedMask.countTrailingZeros(); in SimplifyDemandedUseBits()
705 APInt DemandedMaskLHS(DemandedMask.lshr(ShiftAmt)); in SimplifyDemandedUseBits()
706 APInt DemandedMaskRHS(DemandedMask.shl(BitWidth - ShiftAmt)); in SimplifyDemandedUseBits()
737 APInt DemandedElts = DemandedMask.zextOrTrunc(ArgWidth); in SimplifyDemandedUseBits()
756 if (DemandedMask.isSubsetOf(Known.Zero|Known.One)) in SimplifyDemandedUseBits()
765 const APInt &DemandedMask, in SimplifyMultipleUseDemandedBits() argument
769 unsigned BitWidth = DemandedMask.getBitWidth(); in SimplifyMultipleUseDemandedBits()
793 if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne)) in SimplifyMultipleUseDemandedBits()
799 if (DemandedMask.isSubsetOf(LHSKnown.Zero | RHSKnown.One)) in SimplifyMultipleUseDemandedBits()
801 if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.One)) in SimplifyMultipleUseDemandedBits()
824 if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne)) in SimplifyMultipleUseDemandedBits()
830 if (DemandedMask.isSubsetOf(LHSKnown.One | RHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
832 if (DemandedMask.isSubsetOf(RHSKnown.One | LHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
856 if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne)) in SimplifyMultipleUseDemandedBits()
861 if (DemandedMask.isSubsetOf(RHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
863 if (DemandedMask.isSubsetOf(LHSKnown.Zero)) in SimplifyMultipleUseDemandedBits()
878 if (DemandedMask.isSubsetOf(Known.Zero|Known.One)) in SimplifyMultipleUseDemandedBits()
908 const APInt &DemandedMask, in simplifyShrShlDemandedBits() argument
924 Known.Zero &= DemandedMask; in simplifyShrShlDemandedBits()
941 if ((BitMask1 & DemandedMask) == (BitMask2 & DemandedMask)) { in simplifyShrShlDemandedBits()