PandA-2024.02
storage_value_information_fsm.hpp
Go to the documentation of this file.
1 /*
2  *
3  * _/_/_/ _/_/ _/ _/ _/_/_/ _/_/
4  * _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/
5  * _/_/_/ _/_/_/_/ _/ _/_/ _/ _/ _/_/_/_/
6  * _/ _/ _/ _/ _/ _/ _/ _/ _/
7  * _/ _/ _/ _/ _/ _/_/_/ _/ _/
8  *
9  * ***********************************************
10  * PandA Project
11  * URL: http://panda.dei.polimi.it
12  * Politecnico di Milano - DEIB
13  * System Architectures Group
14  * ***********************************************
15  * Copyright (C) 2004-2024 Politecnico di Milano
16  *
17  * This file is part of the PandA framework.
18  *
19  * The PandA framework is free software; you can redistribute it and/or modify
20  * it under the terms of the GNU General Public License as published by
21  * the Free Software Foundation; either version 3 of the License, or
22  * (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program. If not, see <http://www.gnu.org/licenses/>.
31  *
32  */
41 #ifndef STORAGE_VALUE_INFORMATION_FSM_HPP
42 #define STORAGE_VALUE_INFORMATION_FSM_HPP
43 
45 
47 {
48  protected:
51 
52  public:
57 
61  ~StorageValueInformationFsm() override;
62 
68  bool is_a_storage_value(vertex curr_vertex, unsigned int var_index) override;
69 
75  unsigned int get_storage_value_index(vertex curr_vertex, unsigned int var_index) override;
76 
82  void set_storage_value_index(vertex curr_state, unsigned int variable, unsigned int sv) override;
83 };
84 
86 #endif
const HLS_managerConstRef HLS_mgr
The HLS manager.
absl::flat_hash_map< T, U, Hash, Eq, Alloc > CustomUnorderedMap
Definition: custom_map.hpp:148
unsigned int get_storage_value_index(vertex curr_vertex, unsigned int var_index) override
Returns the index of the storage value associated with the variable in a given vertex.
bool is_a_storage_value(vertex curr_vertex, unsigned int var_index) override
return true in case a storage value exist for the pair vertex variable
void set_storage_value_index(vertex curr_state, unsigned int variable, unsigned int sv) override
assign a strage value to a couple state-variable
boost::graph_traits< graph >::vertex_descriptor vertex
vertex definition.
Definition: graph.hpp:1303
const unsigned int function_id
The index of the function.
This package is used to define the storage value scheme adopted by the register allocation algorithms...
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
Definition: refcount.hpp:94
CustomUnorderedMap< unsigned int, unsigned int > storage_index_map
put into relation variables/values with storage values
StorageValueInformationFsm(const HLS_managerConstRef HLS_mgr, const unsigned int function_id)
Constructor.
~StorageValueInformationFsm() override
Destructor.

Generated on Mon Feb 12 2024 13:02:53 for PandA-2024.02 by doxygen 1.8.13