GCC Middle and Back End API Reference
|
#include <state-purge.h>
Public Types | |
typedef ordered_hash_map< tree, state_purge_per_ssa_name * > | ssa_map_t |
typedef ssa_map_t::iterator | ssa_iterator |
typedef ordered_hash_map< tree, state_purge_per_decl * > | decl_map_t |
typedef decl_map_t::iterator | decl_iterator |
Public Member Functions | |
state_purge_map (const supergraph &sg, region_model_manager *mgr, logger *logger) | |
~state_purge_map () | |
const state_purge_per_ssa_name & | get_data_for_ssa_name (tree name) const |
const state_purge_per_decl * | get_any_data_for_decl (tree decl) const |
state_purge_per_decl & | get_or_create_data_for_decl (const function &fun, tree decl) |
const supergraph & | get_sg () const |
ssa_iterator | begin_ssas () const |
ssa_iterator | end_ssas () const |
decl_iterator | begin_decls () const |
decl_iterator | end_decls () const |
logger * | get_logger () const |
void | set_logger (logger *logger) |
void | log (const char *fmt,...) const ATTRIBUTE_GCC_DIAG(2 |
void void | start_log_line () const |
void | end_log_line () const |
void | enter_scope (const char *scope_name) |
void | exit_scope (const char *scope_name) |
pretty_printer * | get_logger_pp () const |
FILE * | get_logger_file () const |
Private Member Functions | |
DISABLE_COPY_AND_ASSIGN (state_purge_map) | |
Private Attributes | |
const supergraph & | m_sg |
ssa_map_t | m_ssa_map |
decl_map_t | m_decl_map |
logger * | m_logger |
The result of analyzing which decls and SSA names can be purged from state at different points in the program, so that we can simplify program_state objects, in the hope of reducing state-blowup.
decl_map_t::iterator ana::state_purge_map::decl_iterator |
ssa_map_t::iterator ana::state_purge_map::ssa_iterator |
ana::state_purge_map::state_purge_map | ( | const supergraph & | sg, |
region_model_manager * | mgr, | ||
logger * | logger ) |
ana::state_purge_map::~state_purge_map | ( | ) |
|
inline |
References ordered_hash_map< KeyId, Value, Traits >::begin(), and m_decl_map.
|
inline |
References ordered_hash_map< KeyId, Value, Traits >::begin(), and m_ssa_map.
|
private |
|
inline |
References ordered_hash_map< KeyId, Value, Traits >::end(), and m_decl_map.
|
inlineinherited |
A shortcut for ending a log line from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References ana::logger::end_log_line(), and ana::log_user::m_logger.
|
inline |
References ordered_hash_map< KeyId, Value, Traits >::end(), and m_ssa_map.
|
inlineinherited |
A shortcut for recording entry into a scope from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References ana::logger::enter_scope(), and ana::log_user::m_logger.
|
inlineinherited |
A shortcut for recording exit from a scope from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References ana::logger::exit_scope(), and ana::log_user::m_logger.
|
inline |
References gcc_assert, m_decl_map, NULL, and TREE_CODE.
|
inline |
References gcc_assert, m_ssa_map, SSA_NAME_VAR, TREE_CODE, and VAR_DECL_IS_VIRTUAL_OPERAND.
|
inlineinherited |
References ana::log_user::m_logger.
Referenced by ana::exploded_graph::get_logger(), and ana::impl_region_model_context::get_logger().
|
inlineinherited |
References ana::logger::get_file(), ana::log_user::m_logger, and NULL.
|
inlineinherited |
References gcc_assert, ana::logger::get_printer(), and ana::log_user::m_logger.
state_purge_per_decl & ana::state_purge_map::get_or_create_data_for_decl | ( | const function & | fun, |
tree | decl ) |
|
inline |
References m_sg.
|
inlineinherited |
A shortcut for calling log from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References ap, ana::logger::log_va(), and ana::log_user::m_logger.
|
inherited |
|
inlineinherited |
A shortcut for starting a log line from a log_user, handling the common case where the underlying logger is NULL via a no-op.
References ana::log_user::m_logger, and ana::logger::start_log_line().
|
private |
Referenced by begin_decls(), end_decls(), and get_any_data_for_decl().
|
privateinherited |
|
private |
Referenced by get_sg().
|
private |
Referenced by begin_ssas(), end_ssas(), and get_data_for_ssa_name().