#include <svalue.h>
Data Structures | |
struct | key_t |
Public Types | |
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 | |
const gimple * | m_stmt |
const region * | m_id_reg |
unsigned | m_idx |
tree | m_type |
complexity | m_complexity |
id_t | m_id |
A defined value arising from a statement, where we want to identify a particular unknown value, rather than resorting to the unknown_value singleton, so that the value can have sm-state. Comparisons of variables that share the same conjured_svalue are known to be equal, even if we don't know what the value is. For example, this is used for the values of regions that may have been touched when calling an unknown function. The value captures a region as well as a stmt in order to avoid falsely aliasing the various values that could arise in one statement. For example, after: unknown_fn (&a, &b); we want values to clobber a and b with, but we don't want to use the same value, or it would falsely implicitly assume that a == b.
|
inherited |
|
inline |
References gcc_assert, m_id_reg, m_idx, m_stmt, NULL, ana::stmt, and ana::svalue::svalue().
Referenced by dyn_cast_conjured_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 |
|
inlinefinaloverridevirtual |
Reimplemented from ana::svalue.
References conjured_svalue(), and final().
|
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.
|
inlinevirtualinherited |
Reimplemented in ana::widening_svalue.
References NULL.
|
inherited |
References svalue().
|
inlineinherited |
References m_complexity.
Referenced by ana::binop_svalue::binop_svalue(), and ana::widening_svalue::widening_svalue().
|
inlinefinaloverridevirtual |
Implements ana::svalue.
References final(), and ana::SK_CONJURED.
|
inlineinherited |
References m_type.
Referenced by ana::compound_svalue::make_key(), and ana::unmergeable_svalue::unmergeable_svalue().
|
virtualinherited |
bool ana::conjured_svalue::lhs_value_p | ( | ) | const |
|
inherited |
|
inherited |
|
virtualinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
References svalue().
|
inherited |
|
finaloverridevirtual |
Implements ana::svalue.
|
protectedinherited |
|
inherited |
|
privateinherited |
Referenced by get_complexity(), and symbol().
|
private |
Referenced by conjured_svalue(), and get_id_region().
|
private |
Referenced by conjured_svalue().
|
private |
Referenced by conjured_svalue(), and get_stmt().
|
privateinherited |
Referenced by get_type(), and svalue().