void meet_with(const AbstractValue &other)
AbstractValue(const AbstractValue &other)
AbstractValue & operator=(const AbstractValue &other)
AbstractValue & operator=(const AbstractValue &&other)
AbstractValue(const IntervalValue &ival)
void join_with(const AbstractValue &other)
AbstractValue & operator=(const AddressValue &other)
void widen_with(const AbstractValue &other)
IntervalValue & getInterval()
const IntervalValue getInterval() const
void narrow_with(const AbstractValue &other)
AbstractValue & operator=(const IntervalValue &other)
const AddressValue getAddrs() const
AbstractValue(AbstractValue &&other)
AddressValue & getAddrs()
std::string toString() const
AbstractValue(const AddressValue &addr)
bool equals(const AbstractValue &rhs) const
bool meet_with(const AddressValue &other)
Return a intersected AddressValue.
bool equals(const AddressValue &rhs) const
const std::string toString() const
bool join_with(const AddressValue &other)
Current AddressValue joins with another AddressValue.
void meet_with(const IntervalValue &other)
Return a intersected IntervalValue.
void join_with(const IntervalValue &other)
Current IntervalValue joins with another IntervalValue.
const std::string toString() const
void narrow_with(const IntervalValue &other)
Current IntervalValue narrow with another IntervalValue.
static IntervalValue bottom()
Create the bottom IntervalValue [+inf, -inf].
void widen_with(const IntervalValue &other)
Current IntervalValue widen with another IntervalValue.
bool equals(const IntervalValue &other) const
Equality comparison.
constexpr std::remove_reference< T >::type && move(T &&t) noexcept
llvm::IRBuilder IRBuilder