• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/llvmCore-3425.0.34/lib/Transforms/InstCombine/

Lines Matching defs:DemandedMask

55   APInt DemandedMask(APInt::getAllOnesValue(BitWidth));
57 Value *V = SimplifyDemandedUseBits(&Inst, DemandedMask,
68 bool InstCombiner::SimplifyDemandedBits(Use &U, APInt DemandedMask,
71 Value *NewVal = SimplifyDemandedUseBits(U.get(), DemandedMask,
81 /// that only the bits set in DemandedMask of the result of V are ever used
92 /// in DemandedMask. Note also that the bitwidth of V, DemandedMask, KnownZero
100 Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
105 uint32_t BitWidth = DemandedMask.getBitWidth();
114 "Value *V, DemandedMask, KnownZero and KnownOne "
118 KnownOne = CI->getValue() & DemandedMask;
119 KnownZero = ~KnownOne & DemandedMask;
125 KnownZero = DemandedMask;
131 if (DemandedMask == 0) { // Not demanding any bits from V.
150 // we can't do any simplifications of the operands, because DemandedMask
165 if ((DemandedMask & ~LHSKnownZero & RHSKnownOne) ==
166 (DemandedMask & ~LHSKnownZero))
168 if ((DemandedMask & ~RHSKnownZero & LHSKnownOne) ==
169 (DemandedMask & ~RHSKnownZero))
173 if ((DemandedMask & (RHSKnownZero|LHSKnownZero)) == DemandedMask)
187 if ((DemandedMask & ~LHSKnownOne & RHSKnownZero) ==
188 (DemandedMask & ~LHSKnownOne))
190 if ((DemandedMask & ~RHSKnownOne & LHSKnownZero) ==
191 (DemandedMask & ~RHSKnownOne))
196 if ((DemandedMask & (~RHSKnownZero) & LHSKnownOne) ==
197 (DemandedMask & (~RHSKnownZero)))
199 if ((DemandedMask & (~LHSKnownZero) & RHSKnownOne) ==
200 (DemandedMask & (~LHSKnownZero)))
210 // just set the DemandedMask to all bits so that we can try to simplify the
214 DemandedMask = APInt::getAllOnesValue(BitWidth);
222 if (SimplifyDemandedBits(I->getOperandUse(1), DemandedMask,
224 SimplifyDemandedBits(I->getOperandUse(0), DemandedMask & ~RHSKnownZero,
232 if ((DemandedMask & ~LHSKnownZero & RHSKnownOne) ==
233 (DemandedMask & ~LHSKnownZero))
235 if ((DemandedMask & ~RHSKnownZero & LHSKnownOne) ==
236 (DemandedMask & ~RHSKnownZero))
240 if ((DemandedMask & (RHSKnownZero|LHSKnownZero)) == DemandedMask)
244 if (ShrinkDemandedConstant(I, 1, DemandedMask & ~LHSKnownZero))
254 if (SimplifyDemandedBits(I->getOperandUse(1), DemandedMask,
256 SimplifyDemandedBits(I->getOperandUse(0), DemandedMask & ~RHSKnownOne,
264 if ((DemandedMask & ~LHSKnownOne & RHSKnownZero) ==
265 (DemandedMask & ~LHSKnownOne))
267 if ((DemandedMask & ~RHSKnownOne & LHSKnownZero) ==
268 (DemandedMask & ~RHSKnownOne))
273 if ((DemandedMask & (~RHSKnownZero) & LHSKnownOne) ==
274 (DemandedMask & (~RHSKnownZero)))
276 if ((DemandedMask & (~LHSKnownZero) & RHSKnownOne) ==
277 (DemandedMask & (~LHSKnownZero)))
281 if (ShrinkDemandedConstant(I, 1, DemandedMask))
290 if (SimplifyDemandedBits(I->getOperandUse(1), DemandedMask,
292 SimplifyDemandedBits(I->getOperandUse(0), DemandedMask,
300 if ((DemandedMask & RHSKnownZero) == DemandedMask)
302 if ((DemandedMask & LHSKnownZero) == DemandedMask)
308 if ((DemandedMask & ~RHSKnownZero & ~LHSKnownZero) == 0) {
319 if ((DemandedMask & (RHSKnownZero|RHSKnownOne)) == DemandedMask) {
323 ~RHSKnownOne & DemandedMask);
331 if (ShrinkDemandedConstant(I, 1, DemandedMask))
342 (LHSKnownOne & RHSKnownOne & DemandedMask) != 0) {
345 APInt NewMask = ~(LHSKnownOne & RHSKnownOne & DemandedMask);
365 if (SimplifyDemandedBits(I->getOperandUse(2), DemandedMask,
367 SimplifyDemandedBits(I->getOperandUse(1), DemandedMask,
374 if (ShrinkDemandedConstant(I, 1, DemandedMask) ||
375 ShrinkDemandedConstant(I, 2, DemandedMask))
384 DemandedMask = DemandedMask.zext(truncBf);
387 if (SimplifyDemandedBits(I->getOperandUse(0), DemandedMask,
390 DemandedMask = DemandedMask.trunc(BitWidth);
413 if (SimplifyDemandedBits(I->getOperandUse(0), DemandedMask,
422 DemandedMask = DemandedMask.trunc(SrcBitWidth);
425 if (SimplifyDemandedBits(I->getOperandUse(0), DemandedMask,
428 DemandedMask = DemandedMask.zext(BitWidth);
440 APInt InputDemandedBits = DemandedMask &
446 if ((NewBits & DemandedMask) != 0)
465 if (KnownZero[SrcBitWidth-1] || (NewBits & ~DemandedMask) == NewBits) {
478 unsigned NLZ = DemandedMask.countLeadingZeros();
539 if (DemandedMask[BitWidth-1] == 0) {
555 if (DemandedMask[BitWidth-1] == 0) {
558 uint32_t NLZ = DemandedMask.countLeadingZeros();
584 APInt DemandedMaskIn(DemandedMask.lshr(ShiftAmt));
610 APInt DemandedMaskIn(DemandedMask.shl(ShiftAmt));
635 if (DemandedMask == 1) {
644 if (DemandedMask.isSignBit())
651 APInt DemandedMaskIn(DemandedMask.shl(ShiftAmt));
654 if (DemandedMask.countLeadingZeros() <= ShiftAmt)
679 (HighBits & ~DemandedMask) == HighBits) {
698 if (DemandedMask.ult(RA)) // srem won't affect demanded bits
727 if (DemandedMask.isNegative() && KnownZero.isNonNegative()) {
747 KnownZero = APInt::getHighBitsSet(BitWidth, Leaders) & DemandedMask;
757 unsigned NLZ = DemandedMask.countLeadingZeros();
758 unsigned NTZ = DemandedMask.countTrailingZeros();
798 if ((DemandedMask & (KnownZero|KnownOne)) == DemandedMask)