PandA-2024.02
Public Member Functions | Private Attributes | Friends
ProfilingInformation Class Reference

Definition of the profiling information class. More...

#include <profiling_information.hpp>

Collaboration diagram for ProfilingInformation:
Collaboration graph
[legend]

Public Member Functions

 ProfilingInformation (const BBGraphConstRef bb_graph)
 Constructor. More...
 
 ~ProfilingInformation ()
 Destructor. More...
 
const PathProfilingInformationGetPathProfiling () const
 Return the path profiling information. More...
 
unsigned long long int GetBBExecutions (const vertex bb_vertex) const
 Return the absolute number of executions of a basic block. More...
 
unsigned long long int GetEdgeExecutions (const EdgeDescriptor edge) const
 Return the absolute number of the executions of an edge. More...
 
long double GetLoopAvgIterations (const unsigned int loop_id) const
 Return number of average iterations of a loop. More...
 
unsigned long long int GetLoopMaxIterations (const unsigned int loop_id) const
 Return the maximum number of iterations of a loop. More...
 
unsigned long long GetLoopAbsIterations (const unsigned int loop_id) const
 Return the number of absolute iterations of a loop. More...
 
long double GetLoopAvgIterations (const LoopConstRef loop) const
 Return number of average iterations of a loop. More...
 
unsigned long long int GetLoopMaxIterations (const LoopConstRef loop) const
 Return the maximum number of iterations of a loop. More...
 
unsigned long long GetLoopAbsIterations (const LoopConstRef loop) const
 Return the number of absolute iterations of a loop. More...
 
void WriteToXml (xml_element *root, const BBGraphConstRef fcfg) const
 Write to xml. More...
 
void Clear ()
 Clear. More...
 

Private Attributes

PathProfilingInformation path_profiling
 map that represents, for each execution path of each loop (represented by the set of the executed control equivalent regions), the execution frequency More...
 
BBExecutions bb_executions
 Absolute number of execution of each basic block. More...
 
BBEdgeExecutions edge_executions
 Absolute number of running of edges. More...
 
AvgIterations avg_iterations
 number of average iterations for one loop execution More...
 
Iterations abs_iterations
 number of absolute execution (different from number of execution of the header); correspond to how many times a feedback edge of a loop is executed More...
 
Iterations max_iterations
 Maximum number of iterations. More...
 

Friends

class BasicBlocksProfiling
 Friend defintion of profiling classes. More...
 
class hpp_profiling
 
class LoopsProfiling
 
class probability_path
 
class HostProfiling
 
class read_profiling_data
 
class tp_profiling
 

Detailed Description

Definition of the profiling information class.

Definition at line 158 of file profiling_information.hpp.

Constructor & Destructor Documentation

◆ ProfilingInformation()

ProfilingInformation::ProfilingInformation ( const BBGraphConstRef  bb_graph)
explicit

Constructor.

Parameters
bb_graphis the basic block graph

Definition at line 79 of file profiling_information.cpp.

References ~ProfilingInformation().

Here is the call graph for this function:

◆ ~ProfilingInformation()

ProfilingInformation::~ProfilingInformation ( )
default

Destructor.

Referenced by ProfilingInformation().

Here is the caller graph for this function:

Member Function Documentation

◆ Clear()

void ProfilingInformation::Clear ( )

◆ GetBBExecutions()

unsigned long long int ProfilingInformation::GetBBExecutions ( const vertex  bb_vertex) const

Return the absolute number of executions of a basic block.

Parameters
basic_blockis the basic block
Returns
the absolute number of executions of a basic block

Definition at line 91 of file profiling_information.cpp.

References bb_executions.

◆ GetEdgeExecutions()

unsigned long long int ProfilingInformation::GetEdgeExecutions ( const EdgeDescriptor  edge) const

Return the absolute number of the executions of an edge.

Parameters
edgeis the edge
Returns
the absolute number of executions of the edge

Definition at line 100 of file profiling_information.cpp.

References edge_executions.

◆ GetLoopAbsIterations() [1/2]

unsigned long long int ProfilingInformation::GetLoopAbsIterations ( const unsigned int  loop_id) const

Return the number of absolute iterations of a loop.

Parameters
loop_idis the id of the loop
Returns
the number of average iterations of the loop

Definition at line 127 of file profiling_information.cpp.

References abs_iterations.

Referenced by GetLoopAbsIterations().

Here is the caller graph for this function:

◆ GetLoopAbsIterations() [2/2]

unsigned long long ProfilingInformation::GetLoopAbsIterations ( const LoopConstRef  loop) const

Return the number of absolute iterations of a loop.

Parameters
loopis the loop
Returns
the number of average iterations of the loop

Definition at line 146 of file profiling_information.cpp.

References GetLoopAbsIterations().

Here is the call graph for this function:

◆ GetLoopAvgIterations() [1/2]

long double ProfilingInformation::GetLoopAvgIterations ( const unsigned int  loop_id) const

Return number of average iterations of a loop.

Parameters
loop_idis the id of the loop
Returns
the number of average iterations of the loop

Definition at line 118 of file profiling_information.cpp.

References avg_iterations.

Referenced by GetLoopAvgIterations().

Here is the caller graph for this function:

◆ GetLoopAvgIterations() [2/2]

long double ProfilingInformation::GetLoopAvgIterations ( const LoopConstRef  loop) const

Return number of average iterations of a loop.

Parameters
loopis the loop
Returns
the number of average iterations of the loop

Definition at line 136 of file profiling_information.cpp.

References GetLoopAvgIterations().

Here is the call graph for this function:

◆ GetLoopMaxIterations() [1/2]

unsigned long long int ProfilingInformation::GetLoopMaxIterations ( const unsigned int  loop_id) const

Return the maximum number of iterations of a loop.

Parameters
loop_idis the of the loop
Returns
the number of maximum iterations of the loop

Definition at line 109 of file profiling_information.cpp.

References max_iterations.

Referenced by GetLoopMaxIterations().

Here is the caller graph for this function:

◆ GetLoopMaxIterations() [2/2]

unsigned long long int ProfilingInformation::GetLoopMaxIterations ( const LoopConstRef  loop) const

Return the maximum number of iterations of a loop.

Parameters
loopis the loop
Returns
the number of maximum iterations of the loop

Definition at line 141 of file profiling_information.cpp.

References GetLoopMaxIterations().

Here is the call graph for this function:

◆ GetPathProfiling()

const PathProfilingInformation & ProfilingInformation::GetPathProfiling ( ) const

Return the path profiling information.

Returns
the path profiling information

Definition at line 86 of file profiling_information.cpp.

References path_profiling.

◆ WriteToXml()

void ProfilingInformation::WriteToXml ( xml_element root,
const BBGraphConstRef  fcfg 
) const

Friends And Related Function Documentation

◆ BasicBlocksProfiling

friend class BasicBlocksProfiling
friend

Friend defintion of profiling classes.

Definition at line 162 of file profiling_information.hpp.

◆ HostProfiling

friend class HostProfiling
friend

Definition at line 166 of file profiling_information.hpp.

◆ hpp_profiling

friend class hpp_profiling
friend

Definition at line 163 of file profiling_information.hpp.

◆ LoopsProfiling

friend class LoopsProfiling
friend

Definition at line 164 of file profiling_information.hpp.

◆ probability_path

friend class probability_path
friend

Definition at line 165 of file profiling_information.hpp.

◆ read_profiling_data

friend class read_profiling_data
friend

Definition at line 167 of file profiling_information.hpp.

◆ tp_profiling

friend class tp_profiling
friend

Definition at line 168 of file profiling_information.hpp.

Field Documentation

◆ abs_iterations

Iterations ProfilingInformation::abs_iterations
private

number of absolute execution (different from number of execution of the header); correspond to how many times a feedback edge of a loop is executed

Definition at line 185 of file profiling_information.hpp.

Referenced by Clear(), GetLoopAbsIterations(), and WriteToXml().

◆ avg_iterations

AvgIterations ProfilingInformation::avg_iterations
private

number of average iterations for one loop execution

Definition at line 181 of file profiling_information.hpp.

Referenced by Clear(), GetLoopAvgIterations(), and WriteToXml().

◆ bb_executions

BBExecutions ProfilingInformation::bb_executions
private

Absolute number of execution of each basic block.

Definition at line 175 of file profiling_information.hpp.

Referenced by Clear(), GetBBExecutions(), and WriteToXml().

◆ edge_executions

BBEdgeExecutions ProfilingInformation::edge_executions
private

Absolute number of running of edges.

Definition at line 178 of file profiling_information.hpp.

Referenced by Clear(), GetEdgeExecutions(), and WriteToXml().

◆ max_iterations

Iterations ProfilingInformation::max_iterations
private

Maximum number of iterations.

Definition at line 188 of file profiling_information.hpp.

Referenced by Clear(), GetLoopMaxIterations(), and WriteToXml().

◆ path_profiling

PathProfilingInformation ProfilingInformation::path_profiling
private

map that represents, for each execution path of each loop (represented by the set of the executed control equivalent regions), the execution frequency

Definition at line 172 of file profiling_information.hpp.

Referenced by Clear(), GetPathProfiling(), and WriteToXml().


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

Generated on Mon Feb 12 2024 13:04:01 for PandA-2024.02 by doxygen 1.8.13