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

References

lib/CodeGen/GlobalISel/GISelKnownBits.cpp
  102     Known = KnownBits();
  107   Known = KnownBits(BitWidth); // Don't know anything
  122     TL.computeKnownBitsForTargetInstr(*this, R, Known, DemandedElts, MRI,
  138       computeKnownBitsImpl(Src.getReg(), Known, DemandedElts, Depth);
  146     Known.One = *CstVal;
  147     Known.Zero = ~Known.One;
  147     Known.Zero = ~Known.One;
  151     computeKnownBitsForFrameIndex(R, Known, DemandedElts);
  166     Known.Zero.setLowBits(KnownZeroLow);
  170     computeKnownBitsImpl(MI.getOperand(2).getReg(), Known, DemandedElts,
  176     APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
  176     APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
  178     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
  178     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
  178     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
  179     Known.Zero = KnownZeroOut;
  205     Known.Zero.setLowBits(KnownZeroLow);
  207       Known.Zero.setHighBits(KnownZeroHigh - 1);
  212     computeKnownBitsImpl(MI.getOperand(2).getReg(), Known, DemandedElts,
  218     Known.One &= Known2.One;
  220     Known.Zero |= Known2.Zero;
  225     computeKnownBitsImpl(MI.getOperand(2).getReg(), Known, DemandedElts,
  231     Known.Zero &= Known2.Zero;
  233     Known.One |= Known2.One;
  237     computeKnownBitsImpl(MI.getOperand(2).getReg(), Known, DemandedElts,
  246         Known.countMinTrailingZeros() + Known2.countMinTrailingZeros();
  248         std::max(Known.countMinLeadingZeros() + Known2.countMinLeadingZeros(),
  252     Known.resetAll();
  253     Known.Zero.setLowBits(std::min(TrailZ, BitWidth));
  254     Known.Zero.setHighBits(std::min(LeadZ, BitWidth));
  258     computeKnownBitsImpl(MI.getOperand(3).getReg(), Known, DemandedElts,
  261     if (Known.isUnknown())
  266     Known.One &= Known2.One;
  267     Known.Zero &= Known2.Zero;
  276       Known.Zero.setBitsFrom(1);
  280     computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts,
  284     Known = Known.sext(BitWidth);
  284     Known = Known.sext(BitWidth);
  288     computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts,
  290     Known = Known.zext(BitWidth, true /* ExtendedBitsAreKnownZero */);
  290     Known = Known.zext(BitWidth, true /* ExtendedBitsAreKnownZero */);
  297         computeKnownBitsFromRangeMetadata(*Ranges, Known);
  305       Known.Zero.setBitsFrom((*MI.memoperands_begin())->getSizeInBits());
  323     computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts,
  328       Known.Zero = Known.Zero.ashr(Shift);
  328       Known.Zero = Known.Zero.ashr(Shift);
  329       Known.One = Known.One.ashr(Shift);
  329       Known.One = Known.One.ashr(Shift);
  332       Known.Zero = Known.Zero.lshr(Shift);
  332       Known.Zero = Known.Zero.lshr(Shift);
  333       Known.One = Known.One.lshr(Shift);
  333       Known.One = Known.One.lshr(Shift);
  334       Known.Zero.setBitsFrom(Known.Zero.getBitWidth() - Shift);
  334       Known.Zero.setBitsFrom(Known.Zero.getBitWidth() - Shift);
  337       Known.Zero = Known.Zero.shl(Shift);
  337       Known.Zero = Known.Zero.shl(Shift);
  338       Known.One = Known.One.shl(Shift);
  338       Known.One = Known.One.shl(Shift);
  339       Known.Zero.setBits(0, Shift);
  356     Known = Known.zextOrTrunc(SrcBitWidth, true);
  356     Known = Known.zextOrTrunc(SrcBitWidth, true);
  357     computeKnownBitsImpl(SrcReg, Known, DemandedElts, Depth + 1);
  358     Known = Known.zextOrTrunc(BitWidth, true);
  358     Known = Known.zextOrTrunc(BitWidth, true);
  360       Known.Zero.setBitsFrom(SrcBitWidth);
  365   assert(!Known.hasConflict() && "Bits known to be one AND zero?");
  369                     << (Known.Zero | Known.One).toString(16, false) << "\n"
  369                     << (Known.Zero | Known.One).toString(16, false) << "\n"
  371                     << Known.Zero.toString(16, false) << "\n"
  373                     << Known.One.toString(16, false) << "\n");