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

References

lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
  121   uint32_t BitWidth = DemandedMask.getBitWidth();
  134   if (DemandedMask.isNullValue())     // Not demanding any bits from V.
  150     return SimplifyMultipleUseDemandedBits(I, DemandedMask, Known, Depth, CxtI);
  159     DemandedMask.setAllBits();
  167     if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
  168         SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.Zero, LHSKnown,
  181     if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne))
  186     if (DemandedMask.isSubsetOf(LHSKnown.Zero | RHSKnown.One))
  188     if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.One))
  192     if (ShrinkDemandedConstant(I, 1, DemandedMask & ~LHSKnown.Zero))
  201     if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
  202         SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.One, LHSKnown,
  215     if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne))
  220     if (DemandedMask.isSubsetOf(LHSKnown.One | RHSKnown.Zero))
  222     if (DemandedMask.isSubsetOf(RHSKnown.One | LHSKnown.Zero))
  226     if (ShrinkDemandedConstant(I, 1, DemandedMask))
  234     if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
  235         SimplifyDemandedBits(I, 0, DemandedMask, LHSKnown, Depth + 1))
  249     if (DemandedMask.isSubsetOf(IKnownZero|IKnownOne))
  254     if (DemandedMask.isSubsetOf(RHSKnown.Zero))
  256     if (DemandedMask.isSubsetOf(LHSKnown.Zero))
  262     if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.Zero)) {
  273     if (DemandedMask.isSubsetOf(RHSKnown.Zero|RHSKnown.One) &&
  276                                                  ~RHSKnown.One & DemandedMask);
  283     if (ShrinkDemandedConstant(I, 1, DemandedMask))
  294           (LHSKnown.One & RHSKnown.One & DemandedMask) != 0) {
  297         APInt NewMask = ~(LHSKnown.One & RHSKnown.One & DemandedMask);
  324       unsigned CTZ = DemandedMask.countTrailingZeros();
  333       unsigned CTZ = DemandedMask.countTrailingZeros();
  344     if (SimplifyDemandedBits(I, 2, DemandedMask, RHSKnown, Depth + 1) ||
  345         SimplifyDemandedBits(I, 1, DemandedMask, LHSKnown, Depth + 1))
  351     if (ShrinkDemandedConstant(I, 1, DemandedMask) ||
  352         ShrinkDemandedConstant(I, 2, DemandedMask))
  364     APInt InputDemandedMask = DemandedMask.zextOrTrunc(SrcBitWidth);
  391     if (SimplifyDemandedBits(I, 0, DemandedMask, Known, Depth + 1))
  399     APInt InputDemandedBits = DemandedMask.trunc(SrcBitWidth);
  403     if (DemandedMask.getActiveBits() > SrcBitWidth)
  413         DemandedMask.getActiveBits() <= SrcBitWidth) {
  429     unsigned NLZ = DemandedMask.countLeadingZeros();
  472                                                     DemandedMask, Known))
  476       APInt DemandedMaskIn(DemandedMask.lshr(ShiftAmt));
  502       APInt DemandedMaskIn(DemandedMask.shl(ShiftAmt));
  524     if (DemandedMask.isOneValue()) {
  533     if (DemandedMask.isSignMask())
  541       APInt DemandedMaskIn(DemandedMask.shl(ShiftAmt));
  544       if (DemandedMask.countLeadingZeros() <= ShiftAmt)
  568           !DemandedMask.intersects(HighBits)) {
  608         if (DemandedMask.ult(RA))    // srem won't affect demanded bits
  637     if (DemandedMask.isSignBitSet()) {
  652     Known.Zero = APInt::getHighBitsSet(BitWidth, Leaders) & DemandedMask;
  662         unsigned NLZ = DemandedMask.countLeadingZeros();
  663         unsigned NTZ = DemandedMask.countTrailingZeros();
  703         APInt DemandedMaskLHS(DemandedMask.lshr(ShiftAmt));
  704         APInt DemandedMaskRHS(DemandedMask.shl(BitWidth - ShiftAmt));
  735         APInt DemandedElts = DemandedMask.zextOrTrunc(ArgWidth);
  754   if (DemandedMask.isSubsetOf(Known.Zero|Known.One))