21#ifndef GCC_ANALYZER_STATE_PURGE_H
22#define GCC_ANALYZER_STATE_PURGE_H
50 v = function_point::deleted ();
56 v = function_point::empty ();
62 return v.get_kind () == PK_DELETED;
68 return v.get_kind () == PK_EMPTY;
240 const final override;
244 const final override;
249 bool within_table)
const;
Definition supergraph.h:599
Definition program-point.h:73
Definition analyzer-logging.h:34
Definition region-model-manager.h:32
Definition region-model.h:263
void print_needed(graphviz_out *gv, const function_point &point, bool within_table) const
void add_stmt_annotations(graphviz_out *gv, const gimple *stmt, bool within_row) const final override
bool add_node_annotations(graphviz_out *gv, const supernode &n, bool) const final override
const state_purge_map * m_map
Definition state-purge.h:251
state_purge_annotator(const state_purge_map *map)
Definition state-purge.h:237
Definition state-purge.h:78
state_purge_per_decl & get_or_create_data_for_decl(const function &fun, tree decl)
ssa_iterator end_ssas() const
Definition state-purge.h:121
decl_iterator end_decls() const
Definition state-purge.h:124
const supergraph & m_sg
Definition state-purge.h:129
state_purge_map(const supergraph &sg, region_model_manager *mgr, logger *logger)
ordered_hash_map< tree, state_purge_per_ssa_name * > ssa_map_t
Definition state-purge.h:80
decl_map_t::iterator decl_iterator
Definition state-purge.h:84
ssa_map_t::iterator ssa_iterator
Definition state-purge.h:81
ssa_iterator begin_ssas() const
Definition state-purge.h:120
const state_purge_per_ssa_name & get_data_for_ssa_name(tree name) const
Definition state-purge.h:91
ordered_hash_map< tree, state_purge_per_decl * > decl_map_t
Definition state-purge.h:83
const supergraph & get_sg() const
Definition state-purge.h:118
ssa_map_t m_ssa_map
Definition state-purge.h:130
decl_iterator begin_decls() const
Definition state-purge.h:123
const state_purge_per_decl * get_any_data_for_decl(tree decl) const
Definition state-purge.h:103
DISABLE_COPY_AND_ASSIGN(state_purge_map)
decl_map_t m_decl_map
Definition state-purge.h:131
Definition state-purge.h:194
point_set_t m_points_needing_decl
Definition state-purge.h:226
point_set_t m_points_taking_address
Definition state-purge.h:227
state_purge_per_decl(const state_purge_map &map, tree decl, const function &fun)
void process_worklists(const state_purge_map &map, region_model_manager *mgr)
void process_point_forwards(const function_point &point, auto_vec< function_point > *worklist, point_set_t *seen, const state_purge_map &map)
void add_to_worklist(const function_point &point, auto_vec< function_point > *worklist, point_set_t *seen, logger *logger)
void add_pointed_to_at(const function_point &point)
bool needed_at_point_p(const function_point &point) const
void add_needed_at(const function_point &point)
tree m_decl
Definition state-purge.h:228
static function_point before_use_stmt(const state_purge_map &map, const gimple *use_stmt)
void process_point_backwards(const function_point &point, auto_vec< function_point > *worklist, point_set_t *seen, const state_purge_map &map, const region_model &model)
Definition state-purge.h:162
point_set_t m_points_needing_name
Definition state-purge.h:182
state_purge_per_ssa_name(const state_purge_map &map, tree name, const function &fun)
void process_point(const function_point &point, auto_vec< function_point > *worklist, const state_purge_map &map)
static function_point before_use_stmt(const state_purge_map &map, const gimple *use_stmt)
bool needed_at_point_p(const function_point &point) const
void add_to_worklist(const function_point &point, auto_vec< function_point > *worklist, logger *logger)
tree m_name
Definition state-purge.h:183
const function & get_function() const
Definition state-purge.h:139
hash_set< function_point > point_set_t
Definition state-purge.h:143
state_purge_per_tree(const function &fun)
Definition state-purge.h:145
tree get_fndecl() const
Definition state-purge.h:140
const function & m_fun
Definition state-purge.h:151
Definition supergraph.h:109
Definition supergraph.h:235
Definition exploded-graph.h:723
Definition ordered-hash-map.h:35
Definition lra-spills.cc:101
union tree_node * tree
Definition coretypes.h:97
static struct string2counter_map map[debug_counter_number_of_counters]
Definition dbgcnt.cc:39
Definition access-diagram.h:30
Definition genautomata.cc:499
static const bool empty_zero_p
Definition state-purge.h:29
Definition hash-traits.h:466
Definition function.h:249
Definition analyzer.h:491
static void mark_deleted(Type &)
static bool is_empty(Type)
static bool equal(const value_type &existing, const value_type &candidate)
static bool is_deleted(Type)
function_point value_type
Definition analyzer.h:492
static hashval_t hash(value_type)
static void mark_empty(Type &)
#define NULL
Definition system.h:50
#define gcc_assert(EXPR)
Definition system.h:814
static tree candidate(unsigned uid)
Definition tree-sra.cc:325
#define SSA_NAME_VAR(NODE)
Definition tree.h:2140
#define VAR_DECL_IS_VIRTUAL_OPERAND(NODE)
Definition tree.h:3366
#define TREE_CODE(NODE)
Definition tree.h:324