PandA-2024.02
|
#include <storage_value_information_pipeline.hpp>
Public Member Functions | |
StorageValueInformationPipeline (const HLS_managerConstRef HLS_mgr, const unsigned int function_id) | |
Constructor. More... | |
~StorageValueInformationPipeline () override | |
Destructor. More... | |
bool | is_a_storage_value (vertex state, unsigned int var_index) override |
return true in case a storage value exist for the pair vertex variable More... | |
unsigned int | get_storage_value_index (vertex state, unsigned int var_index) override |
Returns the index of the storage value associated with the variable in a given vertex. More... | |
void | set_storage_value_index (vertex curr_state, unsigned int variable, unsigned int sv) override |
assign a storage value to a couple state-variable More... | |
Public Member Functions inherited from StorageValueInformation | |
StorageValueInformation (const HLS_managerConstRef HLS_mgr, const unsigned int function_id) | |
Constructor. More... | |
virtual | ~StorageValueInformation () |
Destructor. More... | |
void | Initialize () |
Initialize the step (i.e., like a constructor) More... | |
unsigned int | get_number_of_storage_values () const |
Returns the number of storage values inserted. More... | |
unsigned int | get_variable_index (unsigned int storage_value_index) const |
Returns the index of the variable associated with the storage value in a given vertex. More... | |
int | get_compatibility_weight (unsigned int storage_value_index1, unsigned int storage_value_index2) const |
return a weight that estimate how much two storage values are compatible. More... | |
bool | are_value_bitsize_compatible (unsigned int storage_value_index1, unsigned int storage_value_index2) const |
return the in case the storage values have compatible size More... | |
Private Attributes | |
CustomUnorderedMap< std::pair< vertex, unsigned int >, unsigned int > | storage_index_double_map |
put into relation variables/values with storage values More... | |
Additional Inherited Members | |
Protected Attributes inherited from StorageValueInformation | |
unsigned int | number_of_storage_values |
current number of storage values More... | |
CustomUnorderedMap< unsigned int, unsigned int > | variable_index_map |
put into relation storage value index with variables More... | |
CustomUnorderedMap< unsigned int, vertex > | vw2vertex |
relation between var written and operations More... | |
const HLS_managerConstRef | HLS_mgr |
The HLS manager. More... | |
const unsigned int | function_id |
The index of the function. More... | |
OpGraphConstRef | data |
operation graph used to compute the affinity between storage values More... | |
Wrefcount< const fu_binding > | fu |
functional unit assignments More... | |
Definition at line 46 of file storage_value_information_pipeline.hpp.
StorageValueInformationPipeline::StorageValueInformationPipeline | ( | const HLS_managerConstRef | HLS_mgr, |
const unsigned int | function_id | ||
) |
Constructor.
Header include.
Definition at line 45 of file storage_value_information_pipeline.cpp.
References ~StorageValueInformationPipeline().
|
overridedefault |
Destructor.
Referenced by StorageValueInformationPipeline().
|
overridevirtual |
Returns the index of the storage value associated with the variable in a given vertex.
curr_vertex | is the vertex |
var_index | is the variable |
Implements StorageValueInformation.
Definition at line 58 of file storage_value_information_pipeline.cpp.
References storage_index_double_map, and THROW_ASSERT.
|
overridevirtual |
return true in case a storage value exist for the pair vertex variable
curr_vertex | is the vertex |
var_index | is the variable |
Implements StorageValueInformation.
Definition at line 53 of file storage_value_information_pipeline.cpp.
References storage_index_double_map.
|
overridevirtual |
assign a storage value to a couple state-variable
curr_state | is the current state |
variable | is the assigned variable |
sv | is the assigned storage value |
Implements StorageValueInformation.
Definition at line 65 of file storage_value_information_pipeline.cpp.
References storage_index_double_map.
|
private |
put into relation variables/values with storage values
Definition at line 50 of file storage_value_information_pipeline.hpp.
Referenced by get_storage_value_index(), is_a_storage_value(), and set_storage_value_index().