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

#include <feasible-graph.h>

Inheritance diagram for ana::feasible_node:
Collaboration diagram for ana::feasible_node:

Public Types

typedef GraphTraits::edge_t edge_t
 
typedef GraphTraits::dump_args_t dump_args_t
 

Public Member Functions

 feasible_node (const exploded_node *inner_node, unsigned index, const feasibility_state &state, unsigned path_length)
 
void dump_dot (graphviz_out *gv, const dump_args_t &args) const final override
 
const feasibility_stateget_state () const
 
const region_modelget_model () const
 
const auto_sbitmapget_snodes_visited () const
 
unsigned get_path_length () const
 
bool get_state_at_stmt (const gimple *target_stmt, region_model *out) const
 
void dump_dot_id (pretty_printer *pp) const
 
const exploded_nodeget_inner_node () const
 
unsigned get_index () const
 

Data Fields

auto_vec< edge_t * > m_preds
 
auto_vec< edge_t * > m_succs
 

Protected Attributes

const exploded_nodem_inner_node
 
unsigned m_index
 

Private Attributes

feasibility_state m_state
 
unsigned m_path_length
 

Detailed Description

Subclass of base_feasible_node for a node that is reachable via a
feasible path, with a particular state.   

Member Typedef Documentation

◆ dump_args_t

typedef GraphTraits::dump_args_t dnode< fg_traits >::dump_args_t
inherited

◆ edge_t

typedef GraphTraits::edge_t dnode< fg_traits >::edge_t
inherited

Constructor & Destructor Documentation

◆ feasible_node()

ana::feasible_node::feasible_node ( const exploded_node * inner_node,
unsigned index,
const feasibility_state & state,
unsigned path_length )
inline

Member Function Documentation

◆ dump_dot()

void ana::feasible_node::dump_dot ( graphviz_out * gv,
const dump_args_t & args ) const
finaloverridevirtual

Implements dnode< fg_traits >.

◆ dump_dot_id()

void ana::base_feasible_node::dump_dot_id ( pretty_printer * pp) const
inherited

◆ get_index()

unsigned ana::base_feasible_node::get_index ( ) const
inlineinherited

◆ get_inner_node()

const exploded_node * ana::base_feasible_node::get_inner_node ( ) const
inlineinherited

◆ get_model()

const region_model & ana::feasible_node::get_model ( ) const
inline

◆ get_path_length()

unsigned ana::feasible_node::get_path_length ( ) const
inline

References m_path_length.

◆ get_snodes_visited()

const auto_sbitmap & ana::feasible_node::get_snodes_visited ( ) const
inline

◆ get_state()

const feasibility_state & ana::feasible_node::get_state ( ) const
inline

References m_state.

◆ get_state_at_stmt()

bool ana::feasible_node::get_state_at_stmt ( const gimple * target_stmt,
region_model * out ) const

Field Documentation

◆ m_index

unsigned ana::base_feasible_node::m_index
protectedinherited

◆ m_inner_node

const exploded_node* ana::base_feasible_node::m_inner_node
protectedinherited

◆ m_path_length

unsigned ana::feasible_node::m_path_length
private

Referenced by get_path_length().

◆ m_preds

auto_vec<edge_t *> dnode< fg_traits >::m_preds
inherited

◆ m_state

feasibility_state ana::feasible_node::m_state
private

◆ m_succs

auto_vec<edge_t *> dnode< fg_traits >::m_succs
inherited

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