reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
  168         SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.Zero, LHSKnown,
  172     assert(!LHSKnown.hasConflict() && "Bits known to be one AND zero?");
  175     APInt IKnownZero = RHSKnown.Zero | LHSKnown.Zero;
  177     APInt IKnownOne = RHSKnown.One & LHSKnown.One;
  186     if (DemandedMask.isSubsetOf(LHSKnown.Zero | RHSKnown.One))
  188     if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.One))
  192     if (ShrinkDemandedConstant(I, 1, DemandedMask & ~LHSKnown.Zero))
  202         SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.One, LHSKnown,
  206     assert(!LHSKnown.hasConflict() && "Bits known to be one AND zero?");
  209     APInt IKnownZero = RHSKnown.Zero & LHSKnown.Zero;
  211     APInt IKnownOne = RHSKnown.One | LHSKnown.One;
  220     if (DemandedMask.isSubsetOf(LHSKnown.One | RHSKnown.Zero))
  222     if (DemandedMask.isSubsetOf(RHSKnown.One | LHSKnown.Zero))
  235         SimplifyDemandedBits(I, 0, DemandedMask, LHSKnown, Depth + 1))
  238     assert(!LHSKnown.hasConflict() && "Bits known to be one AND zero?");
  241     APInt IKnownZero = (RHSKnown.Zero & LHSKnown.Zero) |
  242                        (RHSKnown.One & LHSKnown.One);
  244     APInt IKnownOne =  (RHSKnown.Zero & LHSKnown.One) |
  245                        (RHSKnown.One & LHSKnown.Zero);
  256     if (DemandedMask.isSubsetOf(LHSKnown.Zero))
  262     if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.Zero)) {
  274         RHSKnown.One.isSubsetOf(LHSKnown.One)) {
  294           (LHSKnown.One & RHSKnown.One & DemandedMask) != 0) {
  297         APInt NewMask = ~(LHSKnown.One & RHSKnown.One & DemandedMask);
  345         SimplifyDemandedBits(I, 1, DemandedMask, LHSKnown, Depth + 1))
  348     assert(!LHSKnown.hasConflict() && "Bits known to be one AND zero?");
  356     Known.One = RHSKnown.One & LHSKnown.One;
  357     Known.Zero = RHSKnown.Zero & LHSKnown.Zero;
  434         SimplifyDemandedBits(I, 0, DemandedFromOps, LHSKnown, Depth + 1) ||
  456         DemandedFromOps.isSubsetOf(LHSKnown.Zero))
  462                                         NSW, LHSKnown, RHSKnown);
  591       if (SimplifyDemandedBits(I, 0, DemandedMaskIn, LHSKnown, Depth + 1))
  596           BitWidth, LHSKnown.Zero.countLeadingOnes() + RHSTrailingZeros));
  613         if (SimplifyDemandedBits(I, 0, Mask2, LHSKnown, Depth + 1))
  617         Known.Zero = LHSKnown.Zero & LowBits;
  618         Known.One = LHSKnown.One & LowBits;
  622         if (LHSKnown.isNonNegative() || LowBits.isSubsetOf(LHSKnown.Zero))
  622         if (LHSKnown.isNonNegative() || LowBits.isSubsetOf(LHSKnown.Zero))
  627         if (LHSKnown.isNegative() && LowBits.intersects(LHSKnown.One))
  627         if (LHSKnown.isNegative() && LowBits.intersects(LHSKnown.One))
  638       computeKnownBits(I->getOperand(0), LHSKnown, Depth + 1, CxtI);
  640       if (LHSKnown.isNonNegative())
  705         if (SimplifyDemandedBits(I, 0, DemandedMaskLHS, LHSKnown, Depth + 1) ||
  709         Known.Zero = LHSKnown.Zero.shl(ShiftAmt) |
  711         Known.One = LHSKnown.One.shl(ShiftAmt) |