|
GCC Middle and Back End API Reference
|
#include <store.h>

Data Structures | |
| struct | symbolic_binding |
| struct | binding_pair |
| class | const_iterator |
| class | iterator |
Public Types | |
| using | concrete_bindings_t = concrete_binding_map |
| using | symbolic_bindings_t = std::vector<symbolic_binding> |
| typedef class ana::binding_map::const_iterator | const_iterator_t |
| typedef class ana::binding_map::iterator | iterator_t |
Public Member Functions | |
| binding_map (store_manager &store_mgr) | |
| 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 |
| void | put (const binding_key *k, const svalue *v) |
| void | overwrite (iterator_t &pos, const svalue *v) |
| void | remove (const binding_key *k) |
| void | clear () |
| bool | empty_p () const |
| const_iterator_t | begin () const |
| const_iterator_t | end () const |
| iterator_t | begin () |
| iterator_t | end () |
| size_t | elements () const |
| void | dump_to_pp (pretty_printer *pp, bool simple, bool multiline) const |
| void | dump (bool simple) const |
| void | validate () 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 |
| void | remove_overlapping_bindings (store_manager *mgr, const binding_key *drop_key, uncertainty_t *uncertainty, svalue_set *maybe_live_values, bool always_overlap) |
| const concrete_bindings_t & | get_concrete_bindings () const |
| const symbolic_bindings_t & | get_symbolic_bindings () const |
Private Member Functions | |
| void | get_overlapping_bindings (const binding_key *key, auto_vec< const binding_key * > *out) |
Private Attributes | |
| store_manager & | m_store_mgr |
| concrete_bindings_t | m_concrete |
| symbolic_bindings_t | m_symbolic |
A mapping from binding_keys to svalues, for use by binding_cluster. We store bindings at concrete bit ranges via a concrete_binding_map, along with a vector of (symbolic key, svalue) pairs, but for now this has maximum length of 1.
| typedef class ana::binding_map::iterator ana::binding_map::iterator_t |
| using ana::binding_map::symbolic_bindings_t = std::vector<symbolic_binding> |
| ana::binding_map::binding_map | ( | store_manager & | store_mgr | ) |
Referenced by binding_map(), ana::binding_map::const_iterator::const_iterator(), 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 |
| iterator_t ana::binding_map::begin | ( | ) |
| const_iterator_t ana::binding_map::begin | ( | ) | const |
|
inline |
References m_concrete, and m_symbolic.
| void ana::binding_map::dump | ( | bool | simple | ) | const |
| void ana::binding_map::dump_to_pp | ( | pretty_printer * | pp, |
| bool | simple, | ||
| bool | multiline ) const |
| size_t ana::binding_map::elements | ( | ) | const |
|
inline |
References m_concrete, and m_symbolic.
| iterator_t ana::binding_map::end | ( | ) |
| const_iterator_t ana::binding_map::end | ( | ) | const |
| const svalue * ana::binding_map::get | ( | const binding_key * | key | ) | const |
|
inline |
References m_concrete.
|
private |
|
inline |
References m_symbolic.
| 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().
| void ana::binding_map::overwrite | ( | iterator_t & | pos, |
| const svalue * | v ) |
| void ana::binding_map::put | ( | const binding_key * | k, |
| const svalue * | v ) |
| void ana::binding_map::remove | ( | const binding_key * | k | ) |
| 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 |
| void ana::binding_map::validate | ( | ) | const |
|
private |
Referenced by clear(), empty_p(), and get_concrete_bindings().
|
private |
|
private |
Referenced by clear(), empty_p(), and get_symbolic_bindings().