GCC Middle and Back End API Reference
|
#include <store.h>
Public Types | |
typedef hash_map< const binding_key *, const svalue * > | map_t |
typedef map_t::iterator | iterator_t |
Public Member Functions | |
binding_map () | |
binding_map (const binding_map &other) | |
binding_map & | operator= (const binding_map &other) |
bool | operator== (const binding_map &other) const |
bool | operator!= (const binding_map &other) const |
hashval_t | hash () const |
const svalue * | get (const binding_key *key) const |
bool | put (const binding_key *k, const svalue *v) |
void | remove (const binding_key *k) |
void | empty () |
iterator_t | begin () const |
iterator_t | end () const |
size_t | elements () const |
void | dump_to_pp (pretty_printer *pp, bool simple, bool multiline) const |
void | dump (bool simple) const |
std::unique_ptr< json::object > | to_json () const |
void | add_to_tree_widget (text_art::tree_widget &parent_widget, const text_art::dump_widget_info &dwi) const |
bool | apply_ctor_to_region (const region *parent_reg, tree ctor, region_model_manager *mgr) |
void | remove_overlapping_bindings (store_manager *mgr, const binding_key *drop_key, uncertainty_t *uncertainty, svalue_set *maybe_live_values, bool always_overlap) |
Static Public Member Functions | |
static int | cmp (const binding_map &map1, const binding_map &map2) |
Private Member Functions | |
void | get_overlapping_bindings (const binding_key *key, auto_vec< const binding_key * > *out) |
bool | apply_ctor_val_to_range (const region *parent_reg, region_model_manager *mgr, tree min_index, tree max_index, tree val) |
bool | apply_ctor_pair_to_child_region (const region *parent_reg, region_model_manager *mgr, tree index, tree val) |
Private Attributes | |
map_t | m_map |
A mapping from binding_keys to svalues, for use by binding_cluster and compound_svalue.
typedef map_t::iterator ana::binding_map::iterator_t |
typedef hash_map<const binding_key *, const svalue *> ana::binding_map::map_t |
|
inline |
References m_map.
Referenced by binding_map(), cmp(), operator!=(), operator=(), and operator==().
ana::binding_map::binding_map | ( | const binding_map & | other | ) |
References binding_map().
void ana::binding_map::add_to_tree_widget | ( | text_art::tree_widget & | parent_widget, |
const text_art::dump_widget_info & | dwi ) const |
|
private |
bool ana::binding_map::apply_ctor_to_region | ( | const region * | parent_reg, |
tree | ctor, | ||
region_model_manager * | mgr ) |
|
private |
|
inline |
References m_map.
|
static |
References binding_map().
void ana::binding_map::dump | ( | bool | simple | ) | const |
void ana::binding_map::dump_to_pp | ( | pretty_printer * | pp, |
bool | simple, | ||
bool | multiline ) const |
|
inline |
References m_map.
|
inline |
References m_map.
|
inline |
References m_map.
|
inline |
|
private |
hashval_t ana::binding_map::hash | ( | ) | const |
|
inline |
References binding_map().
binding_map & ana::binding_map::operator= | ( | const binding_map & | other | ) |
References binding_map().
bool ana::binding_map::operator== | ( | const binding_map & | other | ) | const |
References binding_map().
|
inline |
References gcc_assert, and m_map.
|
inline |
References m_map.
void ana::binding_map::remove_overlapping_bindings | ( | store_manager * | mgr, |
const binding_key * | drop_key, | ||
uncertainty_t * | uncertainty, | ||
svalue_set * | maybe_live_values, | ||
bool | always_overlap ) |
std::unique_ptr< json::object > ana::binding_map::to_json | ( | ) | const |
|
private |
Referenced by begin(), binding_map(), elements(), empty(), end(), get(), put(), and remove().