reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
125 Known.getBitWidth() == BitWidth && 129 computeKnownBits(V, Known, Depth, CxtI); 133 Known.resetAll(); 142 computeKnownBits(V, Known, Depth, CxtI); 150 return SimplifyMultipleUseDemandedBits(I, DemandedMask, Known, Depth, CxtI); 163 computeKnownBits(I, Known, Depth, CxtI); 195 Known.Zero = std::move(IKnownZero); 196 Known.One = std::move(IKnownOne); 229 Known.Zero = std::move(IKnownZero); 230 Known.One = std::move(IKnownOne); 311 Known.Zero = std::move(IKnownZero); 313 Known.One = std::move(IKnownOne); 356 Known.One = RHSKnown.One & LHSKnown.One; 357 Known.Zero = RHSKnown.Zero & LHSKnown.Zero; 369 Known = InputKnown.zextOrTrunc(BitWidth, 371 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); 391 if (SimplifyDemandedBits(I, 0, DemandedMask, Known, Depth + 1)) 393 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); 421 Known = InputKnown.sext(BitWidth); 422 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); 461 Known = KnownBits::computeForAddSub(I->getOpcode() == Instruction::Add, 472 DemandedMask, Known)) 485 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) 487 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); 488 Known.Zero <<= ShiftAmt; 489 Known.One <<= ShiftAmt; 492 Known.Zero.setLowBits(ShiftAmt); 509 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) 511 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); 512 Known.Zero.lshrInPlace(ShiftAmt); 513 Known.One.lshrInPlace(ShiftAmt); 515 Known.Zero.setHighBits(ShiftAmt); // high bits known zero. 552 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1)) 557 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); 561 Known.Zero.lshrInPlace(ShiftAmt); 562 Known.One.lshrInPlace(ShiftAmt); 567 if (Known.Zero[BitWidth-ShiftAmt-1] || 573 } else if (Known.One[BitWidth-ShiftAmt-1]) { // New bits are known one. 574 Known.One |= HighBits; 595 Known.Zero.setHighBits(std::min( 617 Known.Zero = LHSKnown.Zero & LowBits; 618 Known.One = LHSKnown.One & LowBits; 623 Known.Zero |= ~LowBits; 628 Known.One |= ~LowBits; 630 assert(!Known.hasConflict() && "Bits known to be one AND zero?"); 641 Known.makeNonNegative(); 652 Known.Zero = APInt::getHighBitsSet(BitWidth, Leaders) & DemandedMask; 709 Known.Zero = LHSKnown.Zero.shl(ShiftAmt) | 711 Known.One = LHSKnown.One.shl(ShiftAmt) | 740 Known.Zero.setBitsFrom(ArgWidth); 744 Known.Zero.setBitsFrom(32); 748 computeKnownBits(V, Known, Depth, CxtI); 754 if (DemandedMask.isSubsetOf(Known.Zero|Known.One)) 754 if (DemandedMask.isSubsetOf(Known.Zero|Known.One)) 755 return Constant::getIntegerValue(VTy, Known.One);