GCC Middle and Back End API Reference
|
#include <svalue.h>
Data Structures | |
struct | key_t |
Public Types | |
typedef unsigned | id_t |
Public Member Functions | |
asm_output_svalue (symbol::id_t id, tree type, const char *asm_string, unsigned output_idx, unsigned num_outputs, const vec< const svalue * > &inputs) | |
enum svalue_kind | get_kind () const final override |
const asm_output_svalue * | dyn_cast_asm_output_svalue () const final override |
void | dump_to_pp (pretty_printer *pp, bool simple) const final override |
void | print_dump_widget_label (pretty_printer *pp) const final override |
void | add_dump_widget_children (text_art::tree_widget &w, const dump_widget_info &dwi) const final override |
void | accept (visitor *v) const final override |
const char * | get_asm_string () const |
unsigned | get_output_idx () const |
unsigned | get_num_outputs () const |
unsigned | get_num_inputs () const |
const svalue * | get_input (unsigned idx) const |
tree | get_type () const |
void | print (const region_model &model, pretty_printer *pp) const |
void | dump () const |
void | dump (bool simple) const |
label_text | get_desc (bool simple=true) const |
std::unique_ptr< json::value > | to_json () const |
std::unique_ptr< text_art::tree_widget > | make_dump_widget (const dump_widget_info &dwi, const char *prefix=nullptr) const |
virtual const region_svalue * | dyn_cast_region_svalue () const |
virtual const constant_svalue * | dyn_cast_constant_svalue () const |
virtual const poisoned_svalue * | dyn_cast_poisoned_svalue () const |
virtual const setjmp_svalue * | dyn_cast_setjmp_svalue () const |
virtual const initial_svalue * | dyn_cast_initial_svalue () const |
virtual const unaryop_svalue * | dyn_cast_unaryop_svalue () const |
virtual const binop_svalue * | dyn_cast_binop_svalue () const |
virtual const sub_svalue * | dyn_cast_sub_svalue () const |
virtual const repeated_svalue * | dyn_cast_repeated_svalue () const |
virtual const bits_within_svalue * | dyn_cast_bits_within_svalue () const |
virtual const unmergeable_svalue * | dyn_cast_unmergeable_svalue () const |
virtual const widening_svalue * | dyn_cast_widening_svalue () const |
virtual const compound_svalue * | dyn_cast_compound_svalue () const |
virtual const conjured_svalue * | dyn_cast_conjured_svalue () const |
virtual const const_fn_result_svalue * | dyn_cast_const_fn_result_svalue () const |
tree | maybe_get_constant () const |
const region * | maybe_get_region () const |
const svalue * | maybe_undo_cast () const |
const svalue * | unwrap_any_unmergeable () const |
const svalue * | can_merge_p (const svalue *other, region_model_manager *mgr, model_merger *merger) const |
bool | live_p (const svalue_set *live_svalues, const region_model *model) const |
virtual bool | implicitly_live_p (const svalue_set *live_svalues, const region_model *model) const |
bool | involves_p (const svalue *other) const |
const svalue * | extract_bit_range (tree type, const bit_range &subrange, region_model_manager *mgr) const |
virtual const svalue * | maybe_fold_bits_within (tree type, const bit_range &subrange, region_model_manager *mgr) const |
virtual bool | all_zeroes_p () const |
virtual bool | can_have_associated_state_p () const |
const region * | maybe_get_deref_base_region () const |
bool | maybe_print_for_user (pretty_printer *pp, const region_model &model, const svalue *outer_sval=nullptr) const |
const complexity & | get_complexity () const |
id_t | get_id () const |
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) |
Static Public Attributes | |
static const unsigned | MAX_INPUTS = 2 |
Protected Member Functions | |
void | print_svalue_node_label (pretty_printer *pp) const |
Private Member Functions | |
void | dump_input (pretty_printer *pp, unsigned input_idx, const svalue *sval, bool simple) const |
unsigned | input_idx_to_asm_idx (unsigned input_idx) const |
Private Attributes | |
const char * | m_asm_string |
unsigned | m_output_idx |
unsigned | m_num_outputs |
unsigned | m_num_inputs |
const svalue * | m_input_arr [MAX_INPUTS] |
tree | m_type |
complexity | m_complexity |
id_t | m_id |
An output from a deterministic asm stmt, where we want to identify a particular unknown value, rather than resorting to the unknown_value singleton. Comparisons of variables that share the same asm_output_svalue are known to be equal, even if we don't know what the value is.
|
inherited |
|
inline |
References gcc_assert, and i.
|
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 |
|
staticinherited |
|
inherited |
|
inherited |
|
private |
|
finaloverridevirtual |
Implements ana::svalue.
|
inlinefinaloverridevirtual |
Reimplemented from ana::svalue.
|
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.
|
inlinevirtualinherited |
Reimplemented in ana::widening_svalue.
References NULL.
|
inherited |
|
inline |
|
inlineinherited |
References ana::symbol::m_complexity.
|
inlineinherited |
References ana::symbol::m_id.
|
inline |
|
inlinefinaloverridevirtual |
Implements ana::svalue.
References ana::SK_ASM_OUTPUT.
|
inline |
|
inline |
|
inline |
|
inlineinherited |
References ana::svalue::m_type.
|
virtualinherited |
|
private |
|
inherited |
|
inherited |
|
virtualinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
finaloverridevirtual |
Implements ana::svalue.
|
protectedinherited |
|
inherited |
|
inherited |
|
private |
|
privateinherited |
Referenced by ana::symbol::get_complexity().
|
privateinherited |
Referenced by ana::symbol::get_id().
|
private |
|
private |
|
private |
|
private |
|
privateinherited |
Referenced by ana::svalue::get_type().
|
static |