PandA-2024.02
Public Member Functions | Protected Attributes | Friends
ChainingInformation Class Reference

#include <chaining_information.hpp>

Collaboration diagram for ChainingInformation:
Collaboration graph
[legend]

Public Member Functions

 ChainingInformation (const HLS_managerConstRef HLS_mgr, const unsigned int function_id)
 Constructor. More...
 
void Initialize ()
 Initialize the object (i.e., like a constructor, but executed just before exec of a step) More...
 
size_t get_representative_in (vertex op1) const
 Return the representative vertex associated with the chained vertices set in input. More...
 
size_t get_representative_out (vertex op1) const
 Return the representative vertex associated with the chained vertices set in output. More...
 
bool is_chained_vertex (vertex v) const
 return true in case the vertex is in chaining with something More...
 
bool may_be_chained_ops (vertex tgt, vertex src) const
 check if two operations are chained in at least one state More...
 
void add_chained_vertices_in (vertex op1, vertex src)
 put into relation the vertices whith respect the chained vertices connected with the input More...
 
void add_chained_vertices_out (vertex op1, vertex tgt)
 put into relation the vertices whith respect the chained vertices connected with the output More...
 

Protected Attributes

std::map< vertex, unsigned int > actual_bb_index_map
 relation between operation and basic block More...
 
ChainingSetRef chaining_relation
 relation between vertices in terms of chaining in input or in output More...
 
CustomOrderedSet< vertexis_chained_with
 set of vertices chained with something More...
 
const Wrefcount< const HLS_managerHLS_mgr
 The HLS manager. More...
 
const unsigned int function_id
 The index of the function. More...
 

Friends

class chaining
 
class epdg_sched_based_chaining_computation
 
class sched_based_chaining_computation
 

Detailed Description

Definition at line 56 of file chaining_information.hpp.

Constructor & Destructor Documentation

◆ ChainingInformation()

ChainingInformation::ChainingInformation ( const HLS_managerConstRef  HLS_mgr,
const unsigned int  function_id 
)

Constructor.

Parameters
HLS_mgris the HLS manager
function_idis the index of the function to which this data structure refers

Definition at line 90 of file chaining_information.cpp.

Member Function Documentation

◆ add_chained_vertices_in()

void ChainingInformation::add_chained_vertices_in ( vertex  op1,
vertex  src 
)

put into relation the vertices whith respect the chained vertices connected with the input

Parameters
op1is the considered vertex
srcis the chained vertex chained in input

Definition at line 134 of file chaining_information.cpp.

References chaining_relation.

Referenced by sched_based_chaining_computation::InternalExec().

Here is the caller graph for this function:

◆ add_chained_vertices_out()

void ChainingInformation::add_chained_vertices_out ( vertex  op1,
vertex  tgt 
)

put into relation the vertices whith respect the chained vertices connected with the output

Parameters
op1is the considered vertex
tgtis the chained vertex chained in output

Definition at line 139 of file chaining_information.cpp.

References chaining_relation.

Referenced by sched_based_chaining_computation::InternalExec().

Here is the caller graph for this function:

◆ get_representative_in()

size_t ChainingInformation::get_representative_in ( vertex  op1) const

Return the representative vertex associated with the chained vertices set in input.

It is assumed that chaining define an equivalent relation between vertices.

Parameters
op1is the considered vertex
Returns
the representative vertex

Definition at line 95 of file chaining_information.cpp.

References chaining_relation.

Referenced by cdfc_module_binding::InternalExec(), and cdfc_module_binding::update_slack_starting_time().

Here is the caller graph for this function:

◆ get_representative_out()

size_t ChainingInformation::get_representative_out ( vertex  op1) const

Return the representative vertex associated with the chained vertices set in output.

It is assumed that chaining define an equivalent relation between vertices.

Parameters
op1is the considered vertex
Returns
the representative vertex

Definition at line 100 of file chaining_information.cpp.

References chaining_relation.

◆ Initialize()

void ChainingInformation::Initialize ( )

Initialize the object (i.e., like a constructor, but executed just before exec of a step)

Definition at line 105 of file chaining_information.cpp.

References hls::chaining_information, chaining_relation, FunctionBehavior::FLSAODG, function_id, HLS_mgr, and Wrefcount< T >::lock().

Referenced by sched_based_chaining_computation::Initialize(), and chaining::Initialize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_chained_vertex()

bool ChainingInformation::is_chained_vertex ( vertex  v) const

return true in case the vertex is in chaining with something

Parameters
vis the operation

Definition at line 121 of file chaining_information.cpp.

References is_chained_with.

◆ may_be_chained_ops()

bool ChainingInformation::may_be_chained_ops ( vertex  tgt,
vertex  src 
) const

check if two operations are chained in at least one state

Parameters
op1is the first vertex
op2is the second vertex

Definition at line 126 of file chaining_information.cpp.

References chaining_relation.

Referenced by cdfc_module_binding::InternalExec(), and cdfc_module_binding::update_slack_starting_time().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ chaining

friend class chaining
friend

Definition at line 59 of file chaining_information.hpp.

◆ epdg_sched_based_chaining_computation

friend class epdg_sched_based_chaining_computation
friend

Definition at line 60 of file chaining_information.hpp.

◆ sched_based_chaining_computation

friend class sched_based_chaining_computation
friend

Definition at line 61 of file chaining_information.hpp.

Field Documentation

◆ actual_bb_index_map

std::map<vertex, unsigned int> ChainingInformation::actual_bb_index_map
protected

relation between operation and basic block

Definition at line 64 of file chaining_information.hpp.

◆ chaining_relation

ChainingSetRef ChainingInformation::chaining_relation
protected

relation between vertices in terms of chaining in input or in output

Definition at line 67 of file chaining_information.hpp.

Referenced by add_chained_vertices_in(), add_chained_vertices_out(), get_representative_in(), get_representative_out(), Initialize(), and may_be_chained_ops().

◆ function_id

const unsigned int ChainingInformation::function_id
protected

The index of the function.

Definition at line 76 of file chaining_information.hpp.

Referenced by Initialize().

◆ HLS_mgr

const Wrefcount<const HLS_manager> ChainingInformation::HLS_mgr
protected

The HLS manager.

Definition at line 73 of file chaining_information.hpp.

Referenced by Initialize().

◆ is_chained_with

CustomOrderedSet<vertex> ChainingInformation::is_chained_with
protected

set of vertices chained with something

Definition at line 70 of file chaining_information.hpp.

Referenced by sched_based_chaining_computation::InternalExec(), and is_chained_vertex().


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

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