PandA-2024.02
Public Member Functions | Private Attributes | Friends
BBEdgeInfo Struct Reference

Information associated with a basic block edge. More...

#include <basic_block.hpp>

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

Public Member Functions

 BBEdgeInfo ()
 Constructor. More...
 
 ~BBEdgeInfo () override
 Destructor. More...
 
bool cdg_edge_T () const
 Function returning true when the edge is a then control dependence edge, false otherwise. More...
 
bool cdg_edge_F () const
 Function returning true when the edge is an else control dependence edge, false otherwise. More...
 
bool cfg_edge_T () const
 Function returning true when the edge is a then control flow edge, false otherwise. More...
 
bool cfg_edge_F () const
 Function returning true when the edge is an else control flow edge, false otherwise. More...
 
bool switch_p () const
 Function returning true when the edge is a control flow edge exiting from a switch, false otherwise. More...
 
const CustomOrderedSet< unsigned int > get_labels (const int selector) const
 Return the labels associated with a selector. More...
 
void set_epp_value (unsigned long long _epp_value)
 Function that sets the epp_edge associated with the edge. More...
 
unsigned long long get_epp_value () const
 Function returning the epp_value associated with the edge. More...
 
- Public Member Functions inherited from CdfgEdgeInfo
 CdfgEdgeInfo ()=default
 Constructor. More...
 
bool CdgEdgeT () const
 Function returning true when the edge is a then control dependence edge. More...
 
bool CdgEdgeF () const
 Function returning true when the edge is an else control dependence edge. More...
 
bool CfgEdgeT () const
 Function returning true when the edge is a then control flow edge. More...
 
bool CfgEdgeF () const
 Function returning true when the edge is an else control flow edge. More...
 
bool Switch () const
 Return true if it is an edge associated with a switch. More...
 
void add_nodeID (unsigned int nodeID, const int type)
 Add a nodeID of type type to this edge_info. More...
 
const CustomOrderedSet< unsigned int > & get_nodeID (const int selector) const
 Return the nodeID of type type associated with this edge information. More...
 
const std::string PrintLabels (const int selector, const BehavioralHelperConstRef BH) const
 Return the string of the labels associated with the edge. More...
 
- Public Member Functions inherited from EdgeInfo
 EdgeInfo ()=default
 Constructor. More...
 
virtual ~EdgeInfo ()=default
 Destructor. More...
 

Private Attributes

unsigned long long epp_value
 edge instrumented weight More...
 

Friends

class BasicBlocksGraphConstructor
 
class FunctionBehavior
 

Additional Inherited Members

- Protected Attributes inherited from CdfgEdgeInfo
std::map< int, CustomOrderedSet< unsigned int > > labels
 edge labels; key is the selector More...
 

Detailed Description

Information associated with a basic block edge.

Definition at line 180 of file basic_block.hpp.

Constructor & Destructor Documentation

◆ BBEdgeInfo()

BBEdgeInfo::BBEdgeInfo ( )

Constructor.

Definition at line 116 of file basic_block.cpp.

References ~BBEdgeInfo().

Here is the call graph for this function:

◆ ~BBEdgeInfo()

BBEdgeInfo::~BBEdgeInfo ( )
overridedefault

Destructor.

Referenced by BBEdgeInfo().

Here is the caller graph for this function:

Member Function Documentation

◆ cdg_edge_F()

bool BBEdgeInfo::cdg_edge_F ( ) const

Function returning true when the edge is an else control dependence edge, false otherwise.

Definition at line 188 of file basic_block.cpp.

References CDG_SELECTOR, and F_COND.

◆ cdg_edge_T()

bool BBEdgeInfo::cdg_edge_T ( ) const

Function returning true when the edge is a then control dependence edge, false otherwise.

Definition at line 182 of file basic_block.cpp.

References CDG_SELECTOR, and T_COND.

◆ cfg_edge_F()

bool BBEdgeInfo::cfg_edge_F ( ) const

Function returning true when the edge is an else control flow edge, false otherwise.

Definition at line 200 of file basic_block.cpp.

References CFG_SELECTOR, and F_COND.

◆ cfg_edge_T()

bool BBEdgeInfo::cfg_edge_T ( ) const

Function returning true when the edge is a then control flow edge, false otherwise.

Definition at line 194 of file basic_block.cpp.

References CFG_SELECTOR, and T_COND.

◆ get_epp_value()

unsigned long long BBEdgeInfo::get_epp_value ( ) const

Function returning the epp_value associated with the edge.

Definition at line 127 of file basic_block.cpp.

References epp_value.

◆ get_labels()

const CustomOrderedSet< unsigned int > BBEdgeInfo::get_labels ( const int  selector) const

Return the labels associated with a selector.

Definition at line 212 of file basic_block.cpp.

◆ set_epp_value()

void BBEdgeInfo::set_epp_value ( unsigned long long  _epp_value)

Function that sets the epp_edge associated with the edge.

Definition at line 122 of file basic_block.cpp.

References epp_value.

◆ switch_p()

bool BBEdgeInfo::switch_p ( ) const

Function returning true when the edge is a control flow edge exiting from a switch, false otherwise.

Definition at line 206 of file basic_block.cpp.

References CDG_SELECTOR, and CFG_SELECTOR.

Friends And Related Function Documentation

◆ BasicBlocksGraphConstructor

friend class BasicBlocksGraphConstructor
friend

Definition at line 183 of file basic_block.hpp.

◆ FunctionBehavior

friend class FunctionBehavior
friend

Definition at line 184 of file basic_block.hpp.

Field Documentation

◆ epp_value

unsigned long long BBEdgeInfo::epp_value
private

edge instrumented weight

Definition at line 187 of file basic_block.hpp.

Referenced by get_epp_value(), and set_epp_value().


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