Lines Matching defs:Known

75                                                        KnownBits &Known) {
76 APInt DemandedMask(APInt::getAllOnes(Known.getBitWidth()));
77 Value *V = SimplifyDemandedUseBits(&Inst, DemandedMask, Known,
88 KnownBits Known(getBitWidth(Inst.getType(), DL));
89 return SimplifyDemandedInstructionBits(Inst, Known);
97 KnownBits &Known, unsigned Depth,
102 llvm::computeKnownBits(V, Known, Depth, Q);
106 Known.resetAll();
115 llvm::computeKnownBits(V, Known, Depth, Q);
125 NewVal = SimplifyDemandedUseBits(VInst, DemandedMask, Known, Depth, Q);
130 SimplifyMultipleUseDemandedBits(VInst, DemandedMask, Known, Depth, Q);
147 /// expression. Known.Zero contains all the bits that are known to be zero in
151 /// Known.One and Known.Zero always follow the invariant that:
152 /// Known.One & Known.Zero == 0.
153 /// That is, a bit can't be both 1 and 0. The bits in Known.One and Known.Zero
155 /// also that the bitwidth of V, DemandedMask, Known.Zero and Known.One must all
165 KnownBits &Known,
174 Known.getBitWidth() == BitWidth &&
175 "Value *V, DemandedMask and Known must have same BitWidth");
212 llvm::computeKnownBits(I, Known, Depth, Q);
221 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
226 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
227 return Constant::getIntegerValue(VTy, Known.One);
252 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
257 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
258 return Constant::getIntegerValue(VTy, Known.One);
298 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
303 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
304 return Constant::getIntegerValue(VTy, Known.One);
421 Known = LHSKnown.intersectWith(RHSKnown);
459 Known = InputKnown.zextOrTrunc(BitWidth);
490 Known = InputKnown.sext(BitWidth);
570 Known = KnownBits::add(LHSKnown, RHSKnown, NSW, NUW);
613 Known = KnownBits::sub(LHSKnown, RHSKnown, NSW, NUW);
642 llvm::computeKnownBits(I, Known, Depth, Q);
652 DemandedMask, Known))
663 llvm::computeKnownBits(I, Known, Depth, Q);
709 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1, Q))
712 Known = KnownBits::shl(Known,
722 if (SimplifyDemandedBits(I, 0, DemandedFromOp, Known, Depth + 1, Q)) {
728 llvm::computeKnownBits(I, Known, Depth, Q);
745 llvm::computeKnownBits(I, Known, Depth, Q);
792 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1, Q)) {
797 Known.Zero.lshrInPlace(ShiftAmt);
798 Known.One.lshrInPlace(ShiftAmt);
800 Known.Zero.setHighBits(ShiftAmt); // high bits known zero.
802 llvm::computeKnownBits(I, Known, Depth, Q);
837 if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1, Q)) {
845 if (Known.Zero[BitWidth - 1] || !ShiftedInBitsDemanded) {
853 Known = KnownBits::ashr(
854 Known, KnownBits::makeConstant(APInt(BitWidth, ShiftAmt)),
857 llvm::computeKnownBits(I, Known, Depth, Q);
876 Known = KnownBits::udiv(LHSKnown, KnownBits::makeConstant(*SA),
879 llvm::computeKnownBits(I, Known, Depth, Q);
893 Known = KnownBits::srem(LHSKnown, KnownBits::makeConstant(*Rem));
897 llvm::computeKnownBits(I, Known, Depth, Q);
962 Known = LHSKnown & RHSKnown;
969 if (DemandedMask.isSubsetOf(Known.Zero) &&
1068 Known.Zero = LHSKnown.Zero.shl(ShiftAmt) |
1070 Known.One = LHSKnown.One.shl(ShiftAmt) |
1101 *II, DemandedMask, Known, KnownBitsComputed);
1110 llvm::computeKnownBits(I, Known, Depth, Q);
1117 Known.Zero.setLowBits(Log2(Alignment));
1125 DemandedMask.isSubsetOf(Known.Zero | Known.One))
1126 return Constant::getIntegerValue(VTy, Known.One);
1130 if (Known != ReferenceKnown) {
1134 errs() << "SimplifyDemandedBits(): " << Known << "\n";
1142 /// Helper routine of SimplifyDemandedUseBits. It computes Known
1146 Instruction *I, const APInt &DemandedMask, KnownBits &Known, unsigned Depth,
1162 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
1164 computeKnownBitsFromContext(I, Known, Depth, Q);
1168 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
1169 return Constant::getIntegerValue(ITy, Known.One);
1183 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
1185 computeKnownBitsFromContext(I, Known, Depth, Q);
1189 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
1190 return Constant::getIntegerValue(ITy, Known.One);
1206 Known = analyzeKnownBitsFromAndXorOr(cast<Operator>(I), LHSKnown, RHSKnown,
1208 computeKnownBitsFromContext(I, Known, Depth, Q);
1212 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
1213 return Constant::getIntegerValue(ITy, Known.One);
1241 Known = KnownBits::add(LHSKnown, RHSKnown, NSW, NUW);
1242 computeKnownBitsFromContext(I, Known, Depth, Q);
1258 Known = KnownBits::sub(LHSKnown, RHSKnown, NSW, NUW);
1259 computeKnownBitsFromContext(I, Known, Depth, Q);
1263 // Compute the Known bits to simplify things downstream.
1264 llvm::computeKnownBits(I, Known, Depth, Q);
1268 if (DemandedMask.isSubsetOf(Known.Zero | Known.One))
1269 return Constant::getIntegerValue(ITy, Known.One);
1290 // Compute the Known bits to simplify things downstream.
1291 llvm::computeKnownBits(I, Known, Depth, Q);
1295 if (DemandedMask.isSubsetOf(Known.Zero|Known.One))
1296 return Constant::getIntegerValue(ITy, Known.One);
1323 const APInt &ShlOp1, const APInt &DemandedMask, KnownBits &Known) {
1336 Known.One.clearAllBits();
1337 Known.Zero.setLowBits(ShlAmt - 1);
1338 Known.Zero &= DemandedMask;
1963 Value *V, const FPClassTest DemandedMask, KnownFPClass &Known,
1968 assert(Known == KnownFPClass() && "expected uninitialized state");
1979 Known = computeKnownFPClass(V, fcAllFlags, CxtI, Depth + 1);
1981 getFPClassConstant(VTy, DemandedMask & Known.KnownFPClasses);
1991 if (SimplifyDemandedFPClass(I, 0, llvm::fneg(DemandedMask), Known,
1994 Known.fneg();
2001 if (SimplifyDemandedFPClass(I, 0, llvm::inverse_fabs(DemandedMask), Known,
2004 Known.fabs();
2007 if (SimplifyDemandedFPClass(I, 0, DemandedMask, Known, Depth + 1))
2013 if (SimplifyDemandedFPClass(I, 0, DemandedMaskAnySign, Known, Depth + 1))
2030 Known.copysign(KnownSign);
2034 Known = computeKnownFPClass(I, ~DemandedMask, CxtI, Depth + 1);
2052 Known = KnownLHS | KnownRHS;
2056 Known = computeKnownFPClass(I, ~DemandedMask, CxtI, Depth + 1);
2060 return getFPClassConstant(VTy, DemandedMask & Known.KnownFPClasses);
2065 KnownFPClass &Known,
2069 SimplifyDemandedUseFPClass(U.get(), DemandedMask, Known, Depth, I);