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

References

lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
  167     if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
  168         SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.Zero, LHSKnown,
  171     assert(!RHSKnown.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))
  201     if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
  202         SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.One, LHSKnown,
  205     assert(!RHSKnown.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))
  234     if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
  237     assert(!RHSKnown.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);
  254     if (DemandedMask.isSubsetOf(RHSKnown.Zero))
  262     if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.Zero)) {
  273     if (DemandedMask.isSubsetOf(RHSKnown.Zero|RHSKnown.One) &&
  273     if (DemandedMask.isSubsetOf(RHSKnown.Zero|RHSKnown.One) &&
  274         RHSKnown.One.isSubsetOf(LHSKnown.One)) {
  276                                                  ~RHSKnown.One & DemandedMask);
  294           (LHSKnown.One & RHSKnown.One & DemandedMask) != 0) {
  297         APInt NewMask = ~(LHSKnown.One & RHSKnown.One & DemandedMask);
  344     if (SimplifyDemandedBits(I, 2, DemandedMask, RHSKnown, Depth + 1) ||
  347     assert(!RHSKnown.hasConflict() && "Bits known to be one AND zero?");
  356     Known.One = RHSKnown.One & LHSKnown.One;
  357     Known.Zero = RHSKnown.Zero & LHSKnown.Zero;
  436         SimplifyDemandedBits(I, 1, DemandedFromOps, RHSKnown, Depth + 1)) {
  450     if (DemandedFromOps.isSubsetOf(RHSKnown.Zero))
  462                                         NSW, LHSKnown, RHSKnown);
  706             SimplifyDemandedBits(I, 1, DemandedMaskRHS, RHSKnown, Depth + 1))
  710                      RHSKnown.Zero.lshr(BitWidth - ShiftAmt);
  712                     RHSKnown.One.lshr(BitWidth - ShiftAmt);