Lines Matching defs:Known

69                                                        KnownBits &Known) {
70 APInt DemandedMask(APInt::getAllOnes(Known.getBitWidth()));
71 Value *V = SimplifyDemandedUseBits(&Inst, DemandedMask, Known,
82 KnownBits Known(getBitWidth(Inst.getType(), DL));
83 return SimplifyDemandedInstructionBits(Inst, Known);
91 KnownBits &Known, unsigned Depth,
96 llvm::computeKnownBits(V, Known, Depth, Q);
100 Known.resetAll();
112 llvm::computeKnownBits(V, Known, Depth, Q);
119 NewVal = SimplifyDemandedUseBits(VInst, DemandedMask, Known, Depth, Q);
124 SimplifyMultipleUseDemandedBits(VInst, DemandedMask, Known, Depth, Q);
141 /// expression. Known.Zero contains all the bits that are known to be zero in
145 /// Known.One and Known.Zero always follow the invariant that:
146 /// Known.One & Known.Zero == 0.
147 /// That is, a bit can't be both 1 and 0. The bits in Known.One and Known.Zero
149 /// also that the bitwidth of V, DemandedMask, Known.Zero and Known.One must all
159 KnownBits &Known,
168 Known.getBitWidth() == BitWidth &&
169 "Value *V, DemandedMask and Known must have same BitWidth");
206 llvm::computeKnownBits(I, Known, Depth, Q);
215 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
220 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
221 return Constant::getIntegerValue(VTy, Known.One);
246 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
251 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
252 return Constant::getIntegerValue(VTy, Known.One);
292 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
297 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
298 return Constant::getIntegerValue(VTy, Known.One);
416 Known = LHSKnown.intersectWith(RHSKnown);
454 Known = InputKnown.zextOrTrunc(BitWidth);
485 Known = InputKnown.sext(BitWidth);
565 Known = KnownBits::computeForAddSub(true, NSW, NUW, LHSKnown, RHSKnown);
599 Known = KnownBits::computeForAddSub(false, NSW, NUW, LHSKnown, RHSKnown);
628 llvm::computeKnownBits(I, Known, Depth, Q);
638 DemandedMask, Known))
649 llvm::computeKnownBits(I, Known, Depth, Q);
695 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1, Q))
698 Known = KnownBits::shl(Known,
708 if (SimplifyDemandedBits(I, 0, DemandedFromOp, Known, Depth + 1, Q)) {
714 llvm::computeKnownBits(I, Known, Depth, Q);
731 llvm::computeKnownBits(I, Known, Depth, Q);
769 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1, Q)) {
774 Known.Zero.lshrInPlace(ShiftAmt);
775 Known.One.lshrInPlace(ShiftAmt);
777 Known.Zero.setHighBits(ShiftAmt); // high bits known zero.
779 llvm::computeKnownBits(I, Known, Depth, Q);
814 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1, Q)) {
822 if (Known.Zero[BitWidth - 1] || !ShiftedInBitsDemanded) {
830 Known = KnownBits::ashr(
831 Known, KnownBits::makeConstant(APInt(BitWidth, ShiftAmt)),
834 llvm::computeKnownBits(I, Known, Depth, Q);
853 Known = KnownBits::udiv(LHSKnown, KnownBits::makeConstant(*SA),
856 llvm::computeKnownBits(I, Known, Depth, Q);
878 Known.Zero = LHSKnown.Zero & LowBits;
879 Known.One = LHSKnown.One & LowBits;
884 Known.Zero |= ~LowBits;
889 Known.One |= ~LowBits;
895 llvm::computeKnownBits(I, Known, Depth, Q);
960 Known = LHSKnown & RHSKnown;
967 if (DemandedMask.isSubsetOf(Known.Zero) &&
1063 Known.Zero = LHSKnown.Zero.shl(ShiftAmt) |
1065 Known.One = LHSKnown.One.shl(ShiftAmt) |
1096 *II, DemandedMask, Known, KnownBitsComputed);
1105 llvm::computeKnownBits(I, Known, Depth, Q);
1112 Known.Zero.setLowBits(Log2(Alignment));
1120 DemandedMask.isSubsetOf(Known.Zero | Known.One))
1121 return Constant::getIntegerValue(VTy, Known.One);
1125 if (Known != ReferenceKnown) {
1129 errs() << "SimplifyDemandedBits(): " << Known << "\n";
1137 /// Helper routine of SimplifyDemandedUseBits. It computes Known
1141 Instruction *I, const APInt &DemandedMask, KnownBits &Known, unsigned Depth,
1157 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
1159 computeKnownBitsFromContext(I, Known, Depth, Q);
1163 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
1164 return Constant::getIntegerValue(ITy, Known.One);
1178 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
1180 computeKnownBitsFromContext(I, Known, Depth, Q);
1184 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
1185 return Constant::getIntegerValue(ITy, Known.One);
1201 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
1203 computeKnownBitsFromContext(I, Known, Depth, Q);
1207 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
1208 return Constant::getIntegerValue(ITy, Known.One);
1236 Known =
1238 computeKnownBitsFromContext(I, Known, Depth, Q);
1254 Known = KnownBits::computeForAddSub(/*Add=*/false, NSW, NUW, LHSKnown,
1256 computeKnownBitsFromContext(I, Known, Depth, Q);
1260 // Compute the Known bits to simplify things downstream.
1261 llvm::computeKnownBits(I, Known, Depth, Q);
1265 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
1266 return Constant::getIntegerValue(ITy, Known.One);
1287 // Compute the Known bits to simplify things downstream.
1288 llvm::computeKnownBits(I, Known, Depth, Q);
1292 if (DemandedMask.isSubsetOf(Known.Zero|Known.One))
1293 return Constant::getIntegerValue(ITy, Known.One);
1320 const APInt &ShlOp1, const APInt &DemandedMask, KnownBits &Known) {
1333 Known.One.clearAllBits();
1334 Known.Zero.setLowBits(ShlAmt - 1);
1335 Known.Zero &= DemandedMask;
1959 Value *V, const FPClassTest DemandedMask, KnownFPClass &Known,
1964 assert(Known == KnownFPClass() && "expected uninitialized state");
1975 Known = computeKnownFPClass(V, fcAllFlags, CxtI, Depth + 1);
1977 getFPClassConstant(VTy, DemandedMask & Known.KnownFPClasses);
1987 if (SimplifyDemandedFPClass(I, 0, llvm::fneg(DemandedMask), Known,
1990 Known.fneg();
1997 if (SimplifyDemandedFPClass(I, 0, llvm::inverse_fabs(DemandedMask), Known,
2000 Known.fabs();
2003 if (SimplifyDemandedFPClass(I, 0, DemandedMask, Known, Depth + 1))
2009 if (SimplifyDemandedFPClass(I, 0, DemandedMaskAnySign, Known, Depth + 1))
2026 Known.copysign(KnownSign);
2030 Known = computeKnownFPClass(I, ~DemandedMask, CxtI, Depth + 1);
2048 Known = KnownLHS | KnownRHS;
2052 Known = computeKnownFPClass(I, ~DemandedMask, CxtI, Depth + 1);
2056 return getFPClassConstant(VTy, DemandedMask & Known.KnownFPClasses);
2061 KnownFPClass &Known,
2065 SimplifyDemandedUseFPClass(U.get(), DemandedMask, Known, Depth, I);