klee
|
Public Member Functions | |
ValueRange () noexcept=default | |
ValueRange (const ref< ConstantExpr > &ce) | |
ValueRange (std::uint64_t value) noexcept | |
ValueRange (std::uint64_t _min, std::uint64_t _max) noexcept | |
ValueRange (const ValueRange &other) noexcept=default | |
ValueRange & | operator= (const ValueRange &other) noexcept=default |
ValueRange (ValueRange &&other) noexcept=default | |
ValueRange & | operator= (ValueRange &&other) noexcept=default |
void | print (llvm::raw_ostream &os) const |
bool | isEmpty () const noexcept |
bool | contains (std::uint64_t value) const |
bool | intersects (const ValueRange &b) const |
bool | isFullRange (unsigned bits) const noexcept |
ValueRange | set_intersection (const ValueRange &b) const |
ValueRange | set_union (const ValueRange &b) const |
ValueRange | set_difference (const ValueRange &b) const |
ValueRange | binaryAnd (const ValueRange &b) const |
ValueRange | binaryAnd (std::uint64_t b) const |
ValueRange | binaryOr (ValueRange b) const |
ValueRange | binaryOr (std::uint64_t b) const |
ValueRange | binaryXor (ValueRange b) const |
ValueRange | binaryShiftLeft (unsigned bits) const |
ValueRange | binaryShiftRight (unsigned bits) const |
ValueRange | concat (const ValueRange &b, unsigned bits) const |
ValueRange | extract (std::uint64_t lowBit, std::uint64_t maxBit) const |
ValueRange | add (const ValueRange &b, unsigned width) const |
ValueRange | sub (const ValueRange &b, unsigned width) const |
ValueRange | mul (const ValueRange &b, unsigned width) const |
ValueRange | udiv (const ValueRange &b, unsigned width) const |
ValueRange | sdiv (const ValueRange &b, unsigned width) const |
ValueRange | urem (const ValueRange &b, unsigned width) const |
ValueRange | srem (const ValueRange &b, unsigned width) const |
bool | isFixed () const noexcept |
bool | operator== (const ValueRange &b) const noexcept |
bool | operator!= (const ValueRange &b) const noexcept |
bool | mustEqual (const std::uint64_t b) const noexcept |
bool | mayEqual (const std::uint64_t b) const noexcept |
bool | mustEqual (const ValueRange &b) const noexcept |
bool | mayEqual (const ValueRange &b) const |
std::uint64_t | min () const noexcept |
std::uint64_t | max () const noexcept |
std::int64_t | minSigned (unsigned bits) const |
std::int64_t | maxSigned (unsigned bits) const |
Private Attributes | |
std::uint64_t | m_min = 1 |
std::uint64_t | m_max = 0 |
Definition at line 98 of file FastCexSolver.cpp.
|
defaultnoexcept |
Referenced by add(), binaryAnd(), binaryOr(), binaryShiftLeft(), binaryShiftRight(), binaryXor(), contains(), mul(), sdiv(), set_difference(), set_intersection(), set_union(), srem(), sub(), udiv(), and urem().
|
inline |
Definition at line 104 of file FastCexSolver.cpp.
|
inlineexplicitnoexcept |
Definition at line 108 of file FastCexSolver.cpp.
|
inlinenoexcept |
Definition at line 110 of file FastCexSolver.cpp.
|
defaultnoexcept |
|
defaultnoexcept |
|
inline |
Definition at line 209 of file FastCexSolver.cpp.
References klee::bits32::maxValueOfNBits(), and ValueRange().
|
inline |
Definition at line 159 of file FastCexSolver.cpp.
References isEmpty(), isFixed(), m_max, m_min, maxAND(), minAND(), and ValueRange().
Referenced by binaryAnd(), extract(), and CexData::propogatePossibleValues().
|
inline |
Definition at line 169 of file FastCexSolver.cpp.
References binaryAnd(), and ValueRange().
|
inline |
Definition at line 182 of file FastCexSolver.cpp.
References binaryOr(), and ValueRange().
Referenced by binaryOr().
|
inline |
Definition at line 172 of file FastCexSolver.cpp.
References isEmpty(), isFixed(), m_max, m_min, maxOR(), minOR(), and ValueRange().
Referenced by concat().
|
inline |
Definition at line 194 of file FastCexSolver.cpp.
References m_max, m_min, and ValueRange().
Referenced by concat().
|
inline |
Definition at line 197 of file FastCexSolver.cpp.
References m_max, m_min, and ValueRange().
Referenced by extract().
|
inline |
Definition at line 183 of file FastCexSolver.cpp.
References isFixed(), klee::bits32::isPowerOfTwo(), m_max, m_min, ValueRange(), and klee::bits32::withoutRightmostBit().
|
inline |
Definition at line 201 of file FastCexSolver.cpp.
References binaryOr(), and binaryShiftLeft().
|
inline |
Definition at line 126 of file FastCexSolver.cpp.
References intersects(), and ValueRange().
|
inline |
Definition at line 204 of file FastCexSolver.cpp.
References binaryAnd(), binaryShiftRight(), and klee::bits32::maxValueOfNBits().
Referenced by CexData::propogatePossibleValues().
|
inline |
Definition at line 129 of file FastCexSolver.cpp.
References isEmpty(), and set_intersection().
Referenced by contains(), and mayEqual().
|
inlinenoexcept |
Definition at line 125 of file FastCexSolver.cpp.
Referenced by binaryAnd(), binaryOr(), intersects(), max(), min(), CexData::propogatePossibleValues(), and set_difference().
|
inlinenoexcept |
Definition at line 233 of file FastCexSolver.cpp.
Referenced by binaryAnd(), binaryOr(), binaryXor(), CexRangeEvaluator::getInitialReadRange(), CexExactEvaluator::getInitialValue(), mustEqual(), print(), CexData::propogateExactValues(), and CexData::propogatePossibleValues().
|
inlinenoexcept |
Definition at line 133 of file FastCexSolver.cpp.
References m_max, m_min, and klee::bits32::maxValueOfNBits().
|
inlinenoexcept |
Definition at line 257 of file FastCexSolver.cpp.
References isEmpty(), and m_max.
Referenced by CexObjectData::getPossibleValue(), CexData::propogateExactValues(), and CexData::propogatePossibleValues().
|
inline |
Definition at line 278 of file FastCexSolver.cpp.
References m_max, m_min, and klee::ints::sext().
|
inlinenoexcept |
Definition at line 243 of file FastCexSolver.cpp.
Referenced by CexData::propogateExactValues().
|
inline |
Definition at line 250 of file FastCexSolver.cpp.
References intersects().
|
inlinenoexcept |
Definition at line 252 of file FastCexSolver.cpp.
References isEmpty(), and m_min.
Referenced by CexRangeEvaluator::getInitialReadRange(), CexExactEvaluator::getInitialValue(), CexObjectData::getPossibleValue(), CexData::propogateExactValues(), and CexData::propogatePossibleValues().
|
inline |
Definition at line 262 of file FastCexSolver.cpp.
References m_max, m_min, and klee::ints::sext().
|
inline |
Definition at line 215 of file FastCexSolver.cpp.
References klee::bits32::maxValueOfNBits(), and ValueRange().
|
inlinenoexcept |
Definition at line 240 of file FastCexSolver.cpp.
Referenced by CexData::propogateExactValues(), and CexData::propogatePossibleValues().
|
inlinenoexcept |
Definition at line 247 of file FastCexSolver.cpp.
References isFixed(), and m_min.
|
inlinenoexcept |
Definition at line 238 of file FastCexSolver.cpp.
|
defaultnoexcept |
|
defaultnoexcept |
|
inlinenoexcept |
Definition at line 235 of file FastCexSolver.cpp.
|
inline |
Definition at line 117 of file FastCexSolver.cpp.
References isFixed(), m_max, and m_min.
Referenced by operator<<().
|
inline |
Definition at line 221 of file FastCexSolver.cpp.
References klee::bits32::maxValueOfNBits(), and ValueRange().
|
inline |
Definition at line 143 of file FastCexSolver.cpp.
References isEmpty(), m_max, m_min, and ValueRange().
Referenced by CexData::propogatePossibleValues().
|
inline |
Definition at line 137 of file FastCexSolver.cpp.
References m_max, m_min, and ValueRange().
Referenced by intersects(), and CexData::propogatePossibleValues().
|
inline |
Definition at line 140 of file FastCexSolver.cpp.
References m_max, m_min, and ValueRange().
|
inline |
Definition at line 227 of file FastCexSolver.cpp.
References klee::bits32::maxValueOfNBits(), and ValueRange().
|
inline |
Definition at line 212 of file FastCexSolver.cpp.
References klee::bits32::maxValueOfNBits(), and ValueRange().
|
inline |
Definition at line 218 of file FastCexSolver.cpp.
References klee::bits32::maxValueOfNBits(), and ValueRange().
|
inline |
Definition at line 224 of file FastCexSolver.cpp.
References klee::bits32::maxValueOfNBits(), and ValueRange().
|
private |
Definition at line 100 of file FastCexSolver.cpp.
Referenced by binaryAnd(), binaryOr(), binaryShiftLeft(), binaryShiftRight(), binaryXor(), isEmpty(), isFixed(), isFullRange(), max(), maxSigned(), minSigned(), mustEqual(), operator==(), print(), set_difference(), set_intersection(), set_union(), and ValueRange().
|
private |
Definition at line 100 of file FastCexSolver.cpp.
Referenced by binaryAnd(), binaryOr(), binaryShiftLeft(), binaryShiftRight(), binaryXor(), isEmpty(), isFixed(), isFullRange(), maxSigned(), min(), minSigned(), mustEqual(), operator==(), print(), set_difference(), set_intersection(), set_union(), and ValueRange().