Lines Matching refs:Known
82 KnownBits Known; in getKnownBits() local
83 computeKnownBitsImpl(R, Known, DemandedElts, Depth); in getKnownBits()
85 return Known; in getKnownBits()
101 dumpResult(const MachineInstr &MI, const KnownBits &Known, unsigned Depth) { in dumpResult() argument
104 << toString(Known.Zero | Known.One, 16, false) << "\n" in dumpResult()
105 << "[" << Depth << "] Zero: 0x" << toString(Known.Zero, 16, false) in dumpResult()
107 << "[" << Depth << "] One: 0x" << toString(Known.One, 16, false) in dumpResult()
113 KnownBits &Known, in computeKnownBitsMin() argument
117 computeKnownBitsImpl(Src1, Known, DemandedElts, Depth); in computeKnownBitsMin()
120 if (Known.isUnknown()) in computeKnownBitsMin()
127 Known = Known.intersectWith(Known2); in computeKnownBitsMin()
144 void GISelKnownBits::computeKnownBitsImpl(Register R, KnownBits &Known, in computeKnownBitsImpl() argument
156 Known = KnownBits(); in computeKnownBitsImpl()
163 Known = CacheEntry->second; in computeKnownBitsImpl()
165 LLVM_DEBUG(dumpResult(MI, Known, Depth)); in computeKnownBitsImpl()
166 assert(Known.getBitWidth() == BitWidth && "Cache entry size doesn't match"); in computeKnownBitsImpl()
169 Known = KnownBits(BitWidth); // Don't know anything in computeKnownBitsImpl()
189 TL.computeKnownBitsForTargetInstr(*this, R, Known, DemandedElts, MRI, in computeKnownBitsImpl()
194 Known.Zero.setAllBits(); Known.One.setAllBits(); in computeKnownBitsImpl()
203 Known = Known.intersectWith(Known2); in computeKnownBitsImpl()
206 if (Known.isUnknown()) in computeKnownBitsImpl()
214 Known.One = APInt::getAllOnes(BitWidth); in computeKnownBitsImpl()
215 Known.Zero = APInt::getAllOnes(BitWidth); in computeKnownBitsImpl()
247 Known = Known.intersectWith(Known2); in computeKnownBitsImpl()
250 if (Known.isUnknown()) in computeKnownBitsImpl()
254 Known = KnownBits(BitWidth); in computeKnownBitsImpl()
261 Known = KnownBits::makeConstant(MI.getOperand(1).getCImm()->getValue()); in computeKnownBitsImpl()
266 TL.computeKnownBitsForFrameIndex(FrameIdx, Known, MF); in computeKnownBitsImpl()
270 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
274 Known = KnownBits::computeForAddSub(/*Add=*/false, /*NSW=*/false, in computeKnownBitsImpl()
275 /* NUW=*/false, Known, Known2); in computeKnownBitsImpl()
279 computeKnownBitsImpl(MI.getOperand(2).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
284 Known ^= Known2; in computeKnownBitsImpl()
297 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
301 Known = KnownBits::computeForAddSub(/*Add=*/true, /*NSW=*/false, in computeKnownBitsImpl()
302 /* NUW=*/false, Known, Known2); in computeKnownBitsImpl()
307 computeKnownBitsImpl(MI.getOperand(2).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
312 Known &= Known2; in computeKnownBitsImpl()
317 computeKnownBitsImpl(MI.getOperand(2).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
322 Known |= Known2; in computeKnownBitsImpl()
326 computeKnownBitsImpl(MI.getOperand(2).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
330 Known = KnownBits::mul(Known, Known2); in computeKnownBitsImpl()
335 Known, DemandedElts, Depth + 1); in computeKnownBitsImpl()
341 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
345 Known = KnownBits::smin(Known, KnownRHS); in computeKnownBitsImpl()
351 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
355 Known = KnownBits::smax(Known, KnownRHS); in computeKnownBitsImpl()
360 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, in computeKnownBitsImpl()
364 Known = KnownBits::umin(Known, KnownRHS); in computeKnownBitsImpl()
369 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, in computeKnownBitsImpl()
373 Known = KnownBits::umax(Known, KnownRHS); in computeKnownBitsImpl()
384 Known.Zero.setBitsFrom(1); in computeKnownBitsImpl()
388 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
392 Known = Known.sext(BitWidth); in computeKnownBitsImpl()
397 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
399 Known = Known.sextInReg(MI.getOperand(2).getImm()); in computeKnownBitsImpl()
403 computeKnownBitsImpl(MI.getOperand(1).getReg(), Known, DemandedElts, in computeKnownBitsImpl()
405 Known = Known.anyext(BitWidth); in computeKnownBitsImpl()
413 Known = KnownRange.anyext(Known.getBitWidth()); in computeKnownBitsImpl()
424 Known = Opcode == TargetOpcode::G_SEXTLOAD in computeKnownBitsImpl()
425 ? KnownRange.sext(Known.getBitWidth()) in computeKnownBitsImpl()
426 : KnownRange.zext(Known.getBitWidth()); in computeKnownBitsImpl()
435 Known = KnownBits::ashr(LHSKnown, RHSKnown); in computeKnownBitsImpl()
444 Known = KnownBits::lshr(LHSKnown, RHSKnown); in computeKnownBitsImpl()
453 Known = KnownBits::shl(LHSKnown, RHSKnown); in computeKnownBitsImpl()
478 Known = Known.zextOrTrunc(SrcBitWidth); in computeKnownBitsImpl()
479 computeKnownBitsImpl(SrcReg, Known, DemandedElts, Depth + 1); in computeKnownBitsImpl()
480 Known = Known.zextOrTrunc(BitWidth); in computeKnownBitsImpl()
482 Known.Zero.setBitsFrom(SrcBitWidth); in computeKnownBitsImpl()
491 Known.Zero.setLowBits(LogOfAlign); in computeKnownBitsImpl()
492 Known.One.clearLowBits(LogOfAlign); in computeKnownBitsImpl()
503 Known.insertBits(SrcOpKnown, I * OpSize); in computeKnownBitsImpl()
524 Known = SrcOpKnown.extractBits(BitWidth, BitWidth * DstIdx); in computeKnownBitsImpl()
529 computeKnownBitsImpl(SrcReg, Known, DemandedElts, Depth + 1); in computeKnownBitsImpl()
530 Known = Known.byteSwap(); in computeKnownBitsImpl()
535 computeKnownBitsImpl(SrcReg, Known, DemandedElts, Depth + 1); in computeKnownBitsImpl()
536 Known = Known.reverseBits(); in computeKnownBitsImpl()
546 Known.Zero.setBitsFrom(LowBits); in computeKnownBitsImpl()
559 Known = extractBits(BitWidth, SrcOpKnown, OffsetKnown, WidthKnown); in computeKnownBitsImpl()
570 Known = extractBits(BitWidth, SrcOpKnown, OffsetKnown, WidthKnown); in computeKnownBitsImpl()
576 Known = KnownBits::ashr(KnownBits::shl(Known, ShiftKnown), ShiftKnown); in computeKnownBitsImpl()
595 Known.Zero.setBitsFrom(1); in computeKnownBitsImpl()
607 Known.Zero.setBitsFrom(LowBits); in computeKnownBitsImpl()
612 LLVM_DEBUG(dumpResult(MI, Known, Depth)); in computeKnownBitsImpl()
615 ComputeKnownBitsCache[R] = Known; in computeKnownBitsImpl()
823 KnownBits Known = getKnownBits(R, DemandedElts, Depth); in computeNumSignBits() local
825 if (Known.isNonNegative()) { // sign bit is 0 in computeNumSignBits()
826 Mask = Known.Zero; in computeNumSignBits()
827 } else if (Known.isNegative()) { // sign bit is 1; in computeNumSignBits()
828 Mask = Known.One; in computeNumSignBits()