GCC Middle and Back End API Reference
ana::state_purge_per_ssa_name Class Reference

#include <state-purge.h>

Inheritance diagram for ana::state_purge_per_ssa_name:
Collaboration diagram for ana::state_purge_per_ssa_name:

Public Member Functions

 state_purge_per_ssa_name (const state_purge_map &map, tree name, const function &fun)
 
bool needed_at_point_p (const function_point &point) const
 
const functionget_function () const
 
tree get_fndecl () const
 

Protected Types

typedef hash_set< function_pointpoint_set_t
 

Private Member Functions

void add_to_worklist (const function_point &point, auto_vec< function_point > *worklist, logger *logger)
 
void process_point (const function_point &point, auto_vec< function_point > *worklist, const state_purge_map &map)
 

Static Private Member Functions

static function_point before_use_stmt (const state_purge_map &map, const gimple *use_stmt)
 

Private Attributes

point_set_t m_points_needing_name
 
tree m_name
 
const functionm_fun
 

Detailed Description

The part of a state_purge_map relating to a specific SSA name.

The result of analyzing a given SSA name, recording which
function_points need to retain state information about it to handle
their successor states, so that we can simplify program_state objects,
in the hope of reducing state-blowup.   

Member Typedef Documentation

◆ point_set_t

Constructor & Destructor Documentation

◆ state_purge_per_ssa_name()

ana::state_purge_per_ssa_name::state_purge_per_ssa_name ( const state_purge_map & map,
tree name,
const function & fun )

Member Function Documentation

◆ add_to_worklist()

void ana::state_purge_per_ssa_name::add_to_worklist ( const function_point & point,
auto_vec< function_point > * worklist,
logger * logger )
private

◆ before_use_stmt()

static function_point ana::state_purge_per_ssa_name::before_use_stmt ( const state_purge_map & map,
const gimple * use_stmt )
staticprivate

◆ get_fndecl()

tree ana::state_purge_per_tree::get_fndecl ( ) const
inlineinherited

◆ get_function()

const function & ana::state_purge_per_tree::get_function ( ) const
inlineinherited

◆ needed_at_point_p()

bool ana::state_purge_per_ssa_name::needed_at_point_p ( const function_point & point) const

◆ process_point()

void ana::state_purge_per_ssa_name::process_point ( const function_point & point,
auto_vec< function_point > * worklist,
const state_purge_map & map )
private

Field Documentation

◆ m_fun

const function& ana::state_purge_per_tree::m_fun
privateinherited

◆ m_name

tree ana::state_purge_per_ssa_name::m_name
private

◆ m_points_needing_name

point_set_t ana::state_purge_per_ssa_name::m_points_needing_name
private

The documentation for this class was generated from the following file: