#include <svalue.h>
Data Structures | |
struct | key_t |
Public Types | |
enum | direction_t { DIR_ASCENDING , DIR_DESCENDING , DIR_UNKNOWN } |
typedef unsigned | id_t |
Static Public Member Functions | |
static int | cmp_ptr (const svalue *, const svalue *) |
static int | cmp_ptr_ptr (const void *, const void *) |
static int | cmp_ids (const symbol *s1, const symbol *s2) |
Protected Member Functions | |
void | print_svalue_node_label (pretty_printer *pp) const |
Private Attributes | |
function_point | m_point |
const svalue * | m_base_sval |
const svalue * | m_iter_sval |
tree | m_type |
complexity | m_complexity |
id_t | m_id |
Concrete subclass of svalue representing a "widening" seen when merging states, widening from a base value to {base value, iter value} and thus representing a possible fixed point in an iteration from the base to +ve infinity, or -ve infinity, and thus useful for representing a value within a loop. We also need to capture the program_point at which the merger happens, so that distinguish between different iterators, and thus handle nested loops. (currently we capture the function_point instead, for simplicity of hashing).
|
inherited |
|
inline |
References ana::svalue::can_have_associated_state_p(), gcc_assert, ana::symbol::get_complexity(), m_base_sval, m_iter_sval, m_point, and ana::svalue::svalue().
Referenced by dyn_cast_widening_svalue().
|
finaloverridevirtual |
Implements ana::svalue.
|
finaloverridevirtual |
Implements ana::svalue.
|
virtualinherited |
Reimplemented in ana::constant_svalue, and ana::repeated_svalue.
|
inlinevirtualinherited |
Reimplemented in ana::poisoned_svalue, and ana::unknown_svalue.
Referenced by ana::binop_svalue::binop_svalue(), ana::unaryop_svalue::unaryop_svalue(), and ana::widening_svalue::widening_svalue().
|
inherited |
References svalue().
References symbol().
References svalue().
|
staticinherited |
|
inherited |
|
inherited |
|
finaloverridevirtual |
Implements ana::svalue.
|
inlinevirtualinherited |
Reimplemented in ana::asm_output_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::binop_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::bits_within_svalue.
References NULL.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
Reimplemented in ana::conjured_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::const_fn_result_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::constant_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::initial_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::poisoned_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::region_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::repeated_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::setjmp_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::sub_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::unaryop_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::unmergeable_svalue.
References NULL.
|
inlinefinaloverridevirtual |
Reimplemented from ana::svalue.
References final(), and widening_svalue().
|
inherited |
References svalue().
|
inline |
References m_base_sval, and ana::svalue::svalue().
|
inlineinherited |
References m_complexity.
Referenced by ana::binop_svalue::binop_svalue(), and ana::widening_svalue::widening_svalue().
enum direction_t ana::widening_svalue::get_direction | ( | ) | const |
|
inline |
References m_iter_sval, and ana::svalue::svalue().
|
inlinefinaloverridevirtual |
Implements ana::svalue.
References final(), and ana::SK_WIDENING.
|
inline |
References m_point.
|
inlineinherited |
References m_type.
Referenced by ana::compound_svalue::make_key(), and ana::unmergeable_svalue::unmergeable_svalue().
|
virtualinherited |
|
inherited |
|
inherited |
|
virtualinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
References svalue().
|
inherited |
|
finaloverridevirtual |
Implements ana::svalue.
|
protectedinherited |
|
inherited |
|
private |
Referenced by get_base_svalue(), and widening_svalue().
|
privateinherited |
Referenced by get_complexity(), and symbol().
|
private |
Referenced by get_iter_svalue(), and widening_svalue().
|
private |
Referenced by get_point(), and widening_svalue().
|
privateinherited |
Referenced by get_type(), and svalue().