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

#include <exploded-graph.h>

Collaboration diagram for ana::strongly_connected_components:

Data Structures

struct  per_node_data

Public Member Functions

 strongly_connected_components (const supergraph &sg, logger *logger)
int get_scc_id (int node_index) const
void dump () const
json::arrayto_json () const

Private Member Functions

void strong_connect (unsigned index)

Private Attributes

const supergraphm_sg
auto_vec< unsignedm_stack
auto_vec< per_node_datam_per_node

Detailed Description

The strongly connected components of a supergraph.
In particular, this allows us to compute a partial ordering
of supernodes.   

Constructor & Destructor Documentation

◆ strongly_connected_components()

ana::strongly_connected_components::strongly_connected_components ( const supergraph & sg,
logger * logger )

Member Function Documentation

◆ dump()

void ana::strongly_connected_components::dump ( ) const

◆ get_scc_id()

int ana::strongly_connected_components::get_scc_id ( int node_index) const

◆ strong_connect()

void ana::strongly_connected_components::strong_connect ( unsigned index)

◆ to_json()

json::array * ana::strongly_connected_components::to_json ( ) const

Field Documentation

◆ m_per_node

auto_vec<per_node_data> ana::strongly_connected_components::m_per_node

Referenced by get_scc_id().

◆ m_sg

const supergraph& ana::strongly_connected_components::m_sg

◆ m_stack

auto_vec<unsigned> ana::strongly_connected_components::m_stack

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