GCC Middle and Back End API Reference
ana::exploded_edge Class Referenceabstract

#include <exploded-graph.h>

Inheritance diagram for ana::exploded_edge:
Collaboration diagram for ana::exploded_edge:

Public Types

typedef eg_traits::node_t node_t
 
typedef eg_traits::dump_args_t dump_args_t
 

Public Member Functions

 exploded_edge (exploded_node *src, exploded_node *dest, const superedge *sedge, bool could_do_work, std::unique_ptr< custom_edge_info > custom_info)
 
void dump_dot (graphviz_out *gv, const dump_args_t &args) const final override
 
void dump_dot_label (pretty_printer *pp) const
 
json::objectto_json () const
 
bool could_do_work_p () const
 
virtual void dump_dot (graphviz_out *gv, const dump_args_t &args) const=0
 

Data Fields

const superedge *const m_sedge
 
std::unique_ptr< custom_edge_infom_custom_info
 
node_t *const m_src
 
node_t *const m_dest
 

Private Member Functions

 DISABLE_COPY_AND_ASSIGN (exploded_edge)
 

Private Attributes

bool m_could_do_work_p
 

Detailed Description

An edge within the exploded graph.
Some exploded_edges have an underlying superedge; others don't.   

Member Typedef Documentation

◆ dump_args_t

eg_traits::dump_args_t dedge< eg_traits >::dump_args_t
inherited

◆ node_t

eg_traits::node_t dedge< eg_traits >::node_t
inherited

Constructor & Destructor Documentation

◆ exploded_edge()

ana::exploded_edge::exploded_edge ( exploded_node * src,
exploded_node * dest,
const superedge * sedge,
bool could_do_work,
std::unique_ptr< custom_edge_info > custom_info )

Member Function Documentation

◆ could_do_work_p()

bool ana::exploded_edge::could_do_work_p ( ) const
inline

References m_could_do_work_p.

Referenced by starts_infinite_loop_p().

◆ DISABLE_COPY_AND_ASSIGN()

ana::exploded_edge::DISABLE_COPY_AND_ASSIGN ( exploded_edge )
private

◆ dump_dot() [1/2]

void ana::exploded_edge::dump_dot ( graphviz_out * gv,
const dump_args_t & args ) const
finaloverride

◆ dump_dot() [2/2]

virtual void dedge< eg_traits >::dump_dot ( graphviz_out * gv,
const dump_args_t & args ) const
pure virtualinherited

◆ dump_dot_label()

void ana::exploded_edge::dump_dot_label ( pretty_printer * pp) const

◆ to_json()

json::object * ana::exploded_edge::to_json ( ) const

Field Documentation

◆ m_could_do_work_p

bool ana::exploded_edge::m_could_do_work_p
private

Referenced by could_do_work_p().

◆ m_custom_info

std::unique_ptr<custom_edge_info> ana::exploded_edge::m_custom_info

◆ m_dest

node_t* const dedge< eg_traits >::m_dest
inherited

◆ m_sedge

const superedge* const ana::exploded_edge::m_sedge

◆ m_src

node_t* const dedge< eg_traits >::m_src
inherited

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