| 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 nullptr 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 nullptr 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 nullptr via a no-op.
References m_logger.
Referenced by set_logger().
| 
 | inline | 
References gcc_assert, m_decl_map, and TREE_CODE.
| 
 | inline | 
References gcc_assert, m_ssa_map, SSA_NAME_VAR, TREE_CODE, and VAR_DECL_IS_VIRTUAL_OPERAND.
| 
 | inlineinherited | 
References m_logger.
| 
 | 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 nullptr 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().