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.
typedef decl_map_t::iterator ana::state_purge_map::decl_iterator |
typedef 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 ) |
Referenced by DISABLE_COPY_AND_ASSIGN().
ana::state_purge_map::~state_purge_map | ( | ) |
|
inline |
References m_decl_map.
|
inline |
References m_ssa_map.
|
private |
References state_purge_map().
|
inline |
References 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 m_logger.
Referenced by set_logger().
|
inline |
References 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 m_logger.
Referenced by set_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 m_logger.
Referenced by set_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 gcc_assert, get_logger_pp(), and m_logger.
Referenced by get_logger_pp().
state_purge_per_decl & ana::state_purge_map::get_or_create_data_for_decl | ( | const function & | fun, |
tree | decl ) |
|
inline |
References m_sg.
|
inlineinherited |
|
inherited |
References ATTRIBUTE_GCC_DIAG, end_log_line(), enter_scope(), exit_scope(), and start_log_line().
|
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 m_logger.
Referenced by set_logger().
|
private |
Referenced by begin_decls(), end_decls(), and get_any_data_for_decl().
|
privateinherited |
Referenced by end_log_line(), enter_scope(), exit_scope(), get_logger(), get_logger_file(), get_logger_pp(), log(), and start_log_line().
|
private |
Referenced by get_sg().
|
private |
Referenced by begin_ssas(), end_ssas(), and get_data_for_ssa_name().