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

References

lib/Analysis/ValueTracking.cpp
  980   unsigned BitWidth = Known.getBitWidth();
  982   KnownBits Known2(Known);
  988       computeKnownBitsFromRangeMetadata(*MD, Known);
  992     computeKnownBits(I->getOperand(1), Known, Depth + 1, Q);
  996     Known.One &= Known2.One;
  998     Known.Zero |= Known2.Zero;
 1006     if (!Known.Zero[0] && !Known.One[0] &&
 1006     if (!Known.Zero[0] && !Known.One[0] &&
 1011         Known.Zero.setBit(0);
 1016     computeKnownBits(I->getOperand(1), Known, Depth + 1, Q);
 1020     Known.Zero &= Known2.Zero;
 1022     Known.One |= Known2.One;
 1025     computeKnownBits(I->getOperand(1), Known, Depth + 1, Q);
 1029     APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
 1029     APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
 1031     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
 1031     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
 1031     Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
 1032     Known.Zero = std::move(KnownZeroOut);
 1037     computeKnownBitsMul(I->getOperand(0), I->getOperand(1), NSW, Known,
 1054     Known.Zero.setHighBits(LeadZ);
 1061       computeKnownBits(RHS, Known, Depth + 1, Q);
 1064       computeKnownBits(I->getOperand(2), Known, Depth + 1, Q);
 1072       if (Known.isNegative() && Known2.isNegative())
 1076             std::max(Known.countMinLeadingOnes(), Known2.countMinLeadingOnes());
 1078       else if (Known.isNonNegative() || Known2.isNonNegative())
 1082       if (Known.isNonNegative() && Known2.isNonNegative())
 1085         MaxHighZeros = std::max(Known.countMinLeadingZeros(),
 1088       else if (Known.isNegative() || Known2.isNegative())
 1094           std::max(Known.countMinLeadingOnes(), Known2.countMinLeadingOnes());
 1099           std::max(Known.countMinLeadingZeros(), Known2.countMinLeadingZeros());
 1110     Known.One &= Known2.One;
 1111     Known.Zero &= Known2.Zero;
 1113       Known.One.setHighBits(MaxHighOnes);
 1115       Known.Zero.setHighBits(MaxHighZeros);
 1142     Known = Known.zextOrTrunc(SrcBitWidth, false);
 1142     Known = Known.zextOrTrunc(SrcBitWidth, false);
 1143     computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
 1144     Known = Known.zextOrTrunc(BitWidth, true /* ExtendedBitsAreKnownZero */);
 1144     Known = Known.zextOrTrunc(BitWidth, true /* ExtendedBitsAreKnownZero */);
 1153       computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
 1162     Known = Known.trunc(SrcBitWidth);
 1162     Known = Known.trunc(SrcBitWidth);
 1163     computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
 1166     Known = Known.sext(BitWidth);
 1166     Known = Known.sext(BitWidth);
 1189     computeKnownBitsFromShiftOperator(I, Known, Known2, Depth, Q, KZF, KOF);
 1205     computeKnownBitsFromShiftOperator(I, Known, Known2, Depth, Q, KZF, KOF);
 1218     computeKnownBitsFromShiftOperator(I, Known, Known2, Depth, Q, KZF, KOF);
 1224                            Known, Known2, Depth, Q);
 1230                            Known, Known2, Depth, Q);
 1241         Known.Zero = Known2.Zero & LowBits;
 1242         Known.One = Known2.One & LowBits;
 1247           Known.Zero |= ~LowBits;
 1252           Known.One |= ~LowBits;
 1254         assert((Known.Zero & Known.One) == 0 && "Bits known to be one AND zero?");
 1254         assert((Known.Zero & Known.One) == 0 && "Bits known to be one AND zero?");
 1264       Known.makeNonNegative();
 1272         computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
 1273         Known.Zero |= ~LowBits;
 1274         Known.One &= LowBits;
 1281     computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
 1285         std::max(Known.countMinLeadingZeros(), Known2.countMinLeadingZeros());
 1286     Known.resetAll();
 1287     Known.Zero.setHighBits(Leaders);
 1298       Known.Zero.setLowBits(countTrailingZeros(Align));
 1344     Known.Zero.setLowBits(TrailZ);
 1382           KnownBits Known3(Known);
 1385           Known.Zero.setLowBits(std::min(Known2.countMinTrailingZeros(),
 1401                 Known.makeNonNegative();
 1403                 Known.makeNegative();
 1410                 Known.makeNonNegative();
 1412                 Known.makeNegative();
 1418               Known.makeNonNegative();
 1432     if (Depth < MaxDepth - 1 && !Known.Zero && !Known.One) {
 1432     if (Depth < MaxDepth - 1 && !Known.Zero && !Known.One) {
 1437       Known.Zero.setAllBits();
 1438       Known.One.setAllBits();
 1447         Known.Zero &= Known2.Zero;
 1448         Known.One &= Known2.One;
 1451         if (!Known.Zero && !Known.One)
 1451         if (!Known.Zero && !Known.One)
 1464       computeKnownBitsFromRangeMetadata(*MD, Known);
 1467       Known.Zero |= Known2.Zero;
 1468       Known.One |= Known2.One;
 1475         Known.Zero |= Known2.Zero.reverseBits();
 1476         Known.One |= Known2.One.reverseBits();
 1480         Known.Zero |= Known2.Zero.byteSwap();
 1481         Known.One |= Known2.One.byteSwap();
 1491         Known.Zero.setBitsFrom(LowBits);
 1502         Known.Zero.setBitsFrom(LowBits);
 1511         Known.Zero.setBitsFrom(LowBits);
 1527         KnownBits Known3(Known);
 1531         Known.Zero =
 1533         Known.One =
 1540         computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
 1548           LeadingKnown = std::max(Known.countMinLeadingOnes(),
 1551           LeadingKnown = std::max(Known.countMinLeadingZeros(),
 1554         Known = KnownBits::computeForAddSub(
 1555             IsAdd, /* NSW */ false, Known, Known2);
 1560           Known.One.setHighBits(LeadingKnown);
 1561           Known.Zero.clearAllBits();
 1563           Known.Zero.setHighBits(LeadingKnown);
 1564           Known.One.clearAllBits();
 1569         Known.Zero.setBitsFrom(32);
 1579     computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
 1591                                  II->getArgOperand(1), false, Known, Known2,
 1597                                  II->getArgOperand(1), false, Known, Known2,
 1603                               Known, Known2, Depth, Q);