GCC Middle and Back End API Reference
|
#include <region-model-reachability.h>
Public Member Functions | |
reachable_regions (region_model *model) | |
void | init_cluster (const region *base_reg) |
void | add (const region *reg, bool is_mutable) |
void | handle_sval (const svalue *sval) |
void | handle_parm (const svalue *sval, tree param_type) |
void | mark_escaped_clusters (region_model_context *ctxt) |
hash_set< constregion * >::iterator | begin () |
hash_set< constregion * >::iterator | end () |
svalue_set::iterator | begin_reachable_svals () |
svalue_set::iterator | end_reachable_svals () |
svalue_set::iterator | begin_mutable_svals () |
svalue_set::iterator | end_mutable_svals () |
hash_set< constregion * >::iterator | begin_mutable_base_regs () |
hash_set< constregion * >::iterator | end_mutable_base_regs () |
void | dump_to_pp (pretty_printer *pp) const |
DEBUG_FUNCTION void | dump () const |
Static Public Member Functions | |
static void | init_cluster_cb (const region *base_reg, reachable_regions *this_ptr) |
static void | handle_sval_cb (const svalue *sval, reachable_regions *this_ptr) |
Private Attributes | |
region_model * | m_model |
store * | m_store |
hash_set< const region * > | m_reachable_base_regs |
hash_set< const region * > | m_mutable_base_regs |
svalue_set | m_reachable_svals |
svalue_set | m_mutable_svals |
A class for determining which regions and svalues are reachable. Used by region_model::handle_unrecognized_call for keeping track of all regions that are reachable, and, of those, which are mutable. Used by program_state::detect_leaks (via region_model::get_reachable_svalues) for detecting leaks.
ana::reachable_regions::reachable_regions | ( | region_model * | model | ) |
|
inline |
References m_reachable_base_regs.
|
inline |
References m_mutable_base_regs.
|
inline |
References hash_set< KeyId, Lazy, Traits >::begin(), and m_mutable_svals.
|
inline |
References hash_set< KeyId, Lazy, Traits >::begin(), and m_reachable_svals.
DEBUG_FUNCTION void ana::reachable_regions::dump | ( | ) | const |
void ana::reachable_regions::dump_to_pp | ( | pretty_printer * | pp | ) | const |
|
inline |
References m_reachable_base_regs.
|
inline |
References m_mutable_base_regs.
|
inline |
References hash_set< KeyId, Lazy, Traits >::end(), and m_mutable_svals.
|
inline |
References hash_set< KeyId, Lazy, Traits >::end(), and m_reachable_svals.
void ana::reachable_regions::handle_sval | ( | const svalue * | sval | ) |
|
static |
void ana::reachable_regions::init_cluster | ( | const region * | base_reg | ) |
|
static |
void ana::reachable_regions::mark_escaped_clusters | ( | region_model_context * | ctxt | ) |
|
private |
Referenced by begin_mutable_base_regs(), and end_mutable_base_regs().
|
private |
Referenced by begin_mutable_svals(), and end_mutable_svals().
|
private |
Referenced by begin_reachable_svals(), and end_reachable_svals().
|
private |