Lines Matching refs:SVB
187 computeOffset(ProgramStateRef State, SValBuilder &SVB, SVal Location) { in computeOffset() argument
188 QualType T = SVB.getArrayIndexType(); in computeOffset()
189 auto EvalBinOp = [&SVB, State, T](BinaryOperatorKind Op, NonLoc L, NonLoc R) { in computeOffset()
191 return SVB.evalBinOpNN(State, Op, L, R, T).getAs<NonLoc>(); in computeOffset()
195 std::optional<NonLoc> Offset = SVB.makeZeroArrayIndex(); in computeOffset()
214 NonLoc Size = SVB.makeArrayIndex( in computeOffset()
215 SVB.getContext().getTypeSizeInChars(ElemType).getQuantity()); in computeOffset()
288 static bool isNegative(SValBuilder &SVB, ProgramStateRef State, NonLoc Value) { in isNegative() argument
289 const llvm::APSInt *MaxV = SVB.getMaxValue(State, Value); in isNegative()
293 static bool isUnsigned(SValBuilder &SVB, NonLoc Value) { in isUnsigned() argument
294 QualType T = Value.getType(SVB.getContext()); in isUnsigned()
307 SValBuilder &SVB, bool CheckEquality = false) { in compareValueToThreshold() argument
310 getSimplifiedOffsets(Value, *ConcreteThreshold, SVB); in compareValueToThreshold()
320 if (isNegative(SVB, State, Value) && isUnsigned(SVB, Threshold)) { in compareValueToThreshold()
328 if (isUnsigned(SVB, Value) && isNegative(SVB, State, Threshold)) { in compareValueToThreshold()
346 SVB.evalBinOpNN(State, OpKind, Value, Threshold, SVB.getConditionType()) in compareValueToThreshold()
580 SValBuilder &SVB = C.getSValBuilder(); in performCheck() local
583 computeOffset(State, SVB, Location); in performCheck()
605 State, ByteOffset, SVB.makeZeroArrayIndex(), SVB); in performCheck()
656 DefinedOrUnknownSVal Size = getDynamicExtent(State, Reg, SVB); in performCheck()
666 compareValueToThreshold(State, ByteOffset, *KnownSize, SVB); in performCheck()