PandA-2024.02
Public Member Functions | Data Fields
BBNodeInfo Struct Reference

Definition of the node_info object for the basic_block graph. More...

#include <basic_block.hpp>

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

Public Member Functions

 BBNodeInfo ()
 Empty constructor. More...
 
 BBNodeInfo (blocRef _block)
 Constructor which uses gcc information. More...
 
void add_operation_node (const vertex op)
 Adds an operation to the list of the statements. More...
 
vertex get_first_operation () const
 Returns the first operation vertex associated with the basic block. More...
 
vertex get_last_operation () const
 Returns the last operation vertex associated with the basic block. More...
 
bool empty () const
 Returns true if there is no node associated with the basic block. More...
 
size_t size () const
 Returns the number of vertices of the graph representing the original program, associated with the current vertex of the basic block graph. More...
 
unsigned int get_bb_index () const
 Returns the index of the basic block. More...
 
const CustomOrderedSet< unsigned int > & get_live_in () const
 Returns the live in of the basic block. More...
 
const CustomOrderedSet< unsigned int > & get_live_out () const
 Returns the live in of the basic block. More...
 
- Public Member Functions inherited from NodeInfo
 NodeInfo ()
 Constructor. More...
 
virtual ~NodeInfo ()
 Destructor. More...
 
virtual void print (std::ostream &, int detail_level=0) const
 Print the information associated with the node of the graph. More...
 

Data Fields

unsigned int loop_id
 id of the loop to which basic block belongs to (0 if it doesn't belong to any loop) More...
 
unsigned int cer
 id of the control equivalent region More...
 
blocRef block
 Structure associated with this basic block in the GCC tree. More...
 
std::list< vertexstatements_list
 List of operation vertices associated with basic block node. More...
 

Detailed Description

Definition of the node_info object for the basic_block graph.

This object info defines the list of vertices associated with the basic block node.

Definition at line 100 of file basic_block.hpp.

Constructor & Destructor Documentation

◆ BBNodeInfo() [1/2]

BBNodeInfo::BBNodeInfo ( )

Empty constructor.

Definition at line 63 of file basic_block.cpp.

◆ BBNodeInfo() [2/2]

BBNodeInfo::BBNodeInfo ( blocRef  _block)
explicit

Constructor which uses gcc information.

Parameters
_blockis the block in the gcc dump

Definition at line 67 of file basic_block.cpp.

Member Function Documentation

◆ add_operation_node()

void BBNodeInfo::add_operation_node ( const vertex  op)

Adds an operation to the list of the statements.

Parameters
opis the operation to be added

Definition at line 71 of file basic_block.cpp.

References statements_list.

◆ empty()

bool BBNodeInfo::empty ( ) const

Returns true if there is no node associated with the basic block.

Returns
true if there is no node associated with the basic block

Definition at line 91 of file basic_block.cpp.

References statements_list.

◆ get_bb_index()

unsigned int BBNodeInfo::get_bb_index ( ) const

Returns the index of the basic block.

Definition at line 96 of file basic_block.cpp.

◆ get_first_operation()

vertex BBNodeInfo::get_first_operation ( ) const

Returns the first operation vertex associated with the basic block.

Returns
the first operation vertex of the basic block.

Definition at line 81 of file basic_block.cpp.

References statements_list.

◆ get_last_operation()

vertex BBNodeInfo::get_last_operation ( ) const

Returns the last operation vertex associated with the basic block.

Returns
the last operation statement of the basic block.

Definition at line 86 of file basic_block.cpp.

References statements_list.

◆ get_live_in()

const CustomOrderedSet< unsigned int > & BBNodeInfo::get_live_in ( ) const

Returns the live in of the basic block.

Definition at line 101 of file basic_block.cpp.

◆ get_live_out()

const CustomOrderedSet< unsigned int > & BBNodeInfo::get_live_out ( ) const

Returns the live in of the basic block.

Definition at line 106 of file basic_block.cpp.

◆ size()

size_t BBNodeInfo::size ( ) const

Returns the number of vertices of the graph representing the original program, associated with the current vertex of the basic block graph.

Returns
size of basic block

Definition at line 76 of file basic_block.cpp.

References statements_list.

Field Documentation

◆ block

blocRef BBNodeInfo::block

Structure associated with this basic block in the GCC tree.

Definition at line 110 of file basic_block.hpp.

◆ cer

unsigned int BBNodeInfo::cer

id of the control equivalent region

Definition at line 107 of file basic_block.hpp.

◆ loop_id

unsigned int BBNodeInfo::loop_id

id of the loop to which basic block belongs to (0 if it doesn't belong to any loop)

Definition at line 104 of file basic_block.hpp.

◆ statements_list

std::list<vertex> BBNodeInfo::statements_list

List of operation vertices associated with basic block node.

Definition at line 113 of file basic_block.hpp.

Referenced by add_operation_node(), empty(), get_first_operation(), get_last_operation(), and size().


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

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