PandA-2024.02
|
Definition of the node_info object for the basic_block graph. More...
#include <basic_block.hpp>
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< vertex > | statements_list |
List of operation vertices associated with basic block node. More... | |
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.
BBNodeInfo::BBNodeInfo | ( | ) |
Empty constructor.
Definition at line 63 of file basic_block.cpp.
|
explicit |
Constructor which uses gcc information.
_block | is the block in the gcc dump |
Definition at line 67 of file basic_block.cpp.
void BBNodeInfo::add_operation_node | ( | const vertex | op | ) |
Adds an operation to the list of the statements.
op | is the operation to be added |
Definition at line 71 of file basic_block.cpp.
References statements_list.
bool BBNodeInfo::empty | ( | ) | const |
Returns true if there is no node associated with the basic block.
Definition at line 91 of file basic_block.cpp.
References statements_list.
unsigned int BBNodeInfo::get_bb_index | ( | ) | const |
Returns the index of the basic block.
Definition at line 96 of file basic_block.cpp.
vertex BBNodeInfo::get_first_operation | ( | ) | const |
Returns the first operation vertex associated with the basic block.
Definition at line 81 of file basic_block.cpp.
References statements_list.
vertex BBNodeInfo::get_last_operation | ( | ) | const |
Returns the last operation vertex associated with the basic block.
Definition at line 86 of file basic_block.cpp.
References statements_list.
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.
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_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.
Definition at line 76 of file basic_block.cpp.
References statements_list.
blocRef BBNodeInfo::block |
Structure associated with this basic block in the GCC tree.
Definition at line 110 of file basic_block.hpp.
unsigned int BBNodeInfo::cer |
id of the control equivalent region
Definition at line 107 of file basic_block.hpp.
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.
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().