PandA-2024.02
Public Member Functions | Friends
BBGraphsCollection Class Reference

This structure defines graphs where nodes are basic_blocks. More...

#include <basic_block.hpp>

Inheritance diagram for BBGraphsCollection:
Inheritance graph
[legend]
Collaboration diagram for BBGraphsCollection:
Collaboration graph
[legend]

Public Member Functions

 BBGraphsCollection (const BBGraphInfoRef bb_graph_info, const ParameterConstRef parameters)
 Constructor. More...
 
 ~BBGraphsCollection () override
 Destructor. More...
 
EdgeDescriptor AddEdge (const vertex source, const vertex target, const int selector)
 Add an edge with empty information associated. More...
 
- Public Member Functions inherited from graphs_collection
 graphs_collection (GraphInfoRef info, const ParameterConstRef _parameters)
 Constructor of graph. More...
 
virtual ~graphs_collection ()=default
 Destructor. More...
 
boost::graph_traits< graphs_collection >::edge_descriptor AddSelector (const boost::graph_traits< graphs_collection >::edge_descriptor edge, const int selector)
 Add a selector to an existing edge. More...
 
boost::graph_traits< graphs_collection >::edge_descriptor AddSelector (const boost::graph_traits< graphs_collection >::vertex_descriptor source, const boost::graph_traits< graphs_collection >::vertex_descriptor target, const int selector)
 Add a selector to an existing edge. More...
 
void RemoveSelector (boost::graph_traits< graphs_collection >::edge_descriptor edge)
 Remove all the selectors of an edge from this graph. More...
 
void RemoveSelector (boost::graph_traits< graphs_collection >::edge_descriptor edge, const int selector)
 Remove an edge from this graph. More...
 
void RemoveSelector (boost::graph_traits< graphs_collection >::vertex_descriptor source, boost::graph_traits< graphs_collection >::vertex_descriptor target, const int selector)
 Remove an edge from this graph. More...
 
int GetSelector (const edge_descriptor e) const
 Return the selectors associated with an edge. More...
 
virtual boost::graph_traits< boost_graphs_collection >::vertex_descriptor AddVertex (const NodeInfoRef info)
 Add a vertex to this graph with a property. More...
 
boost::graph_traits< graphs_collection >::edge_descriptor AddEdge (boost::graph_traits< graphs_collection >::vertex_descriptor, boost::graph_traits< graphs_collection >::vertex_descriptor, const int)
 Add an edge to this graph FIXME: this should be pure virtual. More...
 
boost::graph_traits< graphs_collection >::edge_descriptor InternalAddEdge (boost::graph_traits< graphs_collection >::vertex_descriptor source, boost::graph_traits< graphs_collection >::vertex_descriptor target, const int selector, const EdgeInfoRef info)
 Add an edge to this graph FIXME: this should be protected. More...
 
virtual void RemoveVertex (boost::graph_traits< boost_graphs_collection >::vertex_descriptor v)
 Remove a vertex from this graph. More...
 
bool ExistsEdge (const boost::graph_traits< graphs_collection >::vertex_descriptor source, const boost::graph_traits< graphs_collection >::vertex_descriptor target) const
 Check if an edge exists. More...
 
void CompressEdges ()
 

Friends

class BasicBlocksGraphConstructor
 

Additional Inherited Members

- Data Fields inherited from graphs_collection
const ParameterConstRef parameters
 Set of input parameters. More...
 

Detailed Description

This structure defines graphs where nodes are basic_blocks.

Graphs defined are: control flow graph, control dependence graph, dominator tree and post-dominator tree The basic_block structure and the control flow graph can be extracted directly from the raw structure when cfg pass is done or built up starting from a CFG where nodes are standard vertices.

Definition at line 280 of file basic_block.hpp.

Constructor & Destructor Documentation

◆ BBGraphsCollection()

BBGraphsCollection::BBGraphsCollection ( const BBGraphInfoRef  bb_graph_info,
const ParameterConstRef  parameters 
)

Constructor.

Parameters
bb_node_infois the info to be associated with the graph
parametersis the set of input parameters

Definition at line 137 of file basic_block.cpp.

References ~BBGraphsCollection().

Here is the call graph for this function:

◆ ~BBGraphsCollection()

BBGraphsCollection::~BBGraphsCollection ( )
overridedefault

Destructor.

Referenced by BBGraphsCollection().

Here is the caller graph for this function:

Member Function Documentation

◆ AddEdge()

EdgeDescriptor BBGraphsCollection::AddEdge ( const vertex  source,
const vertex  target,
const int  selector 
)
inline

Add an edge with empty information associated.

Parameters
sourceis the source of the edge
targetis the target of the edge
selectoris the selector to be added
Returns
the created edge

Definition at line 305 of file basic_block.hpp.

Friends And Related Function Documentation

◆ BasicBlocksGraphConstructor

friend class BasicBlocksGraphConstructor
friend

Definition at line 283 of file basic_block.hpp.


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

Generated on Mon Feb 12 2024 13:03:44 for PandA-2024.02 by doxygen 1.8.13