reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);