46 #include <boost/pending/disjoint_sets.hpp> 55 using rank_pmap_type = boost::iterator_property_map<std::vector<std::size_t>::iterator, boost::identity_property_map,
56 std::vector<std::size_t>::value_type>;
57 using pred_pmap_type = boost::iterator_property_map<std::vector<std::size_t>::iterator, boost::identity_property_map,
58 std::vector<std::size_t>::value_type>;
62 boost::graph_traits<graph>::vertices_size_type
n_vert;
67 boost::disjoint_sets<rank_pmap_type, pred_pmap_type>
ds;
70 : cindex_pmap(
boost::get(
boost::vertex_index_t(), *flow_graph)),
71 n_vert(
boost::num_vertices(*flow_graph)),
74 rank_pmap(rank_map.begin()),
75 pred_pmap(pred_map.begin()),
82 return cindex_pmap[v] * 2;
86 return cindex_pmap[v] * 2 + 1;
91 : HLS_mgr(_HLS_mgr), function_id(_function_id)
113 for(boost::tie(vi, vi_end) = boost::vertices(*flow_graph); vi != vi_end; ++vi)
Data structure representing the entire HLS information.
const_vertex_index_pmap_t cindex_pmap
boost::disjoint_sets< rank_pmap_type, pred_pmap_type > ds
This algorithm is to find coloring of a graph Algorithm: Let G = (V,E) be a graph with vertices v_1...
boost::iterator_property_map< std::vector< std::size_t >::iterator, boost::identity_property_map, std::vector< std::size_t >::value_type > pred_pmap_type
boost::property_map< OpGraph, boost::vertex_index_t >::const_type const_vertex_index_pmap_t
boost::graph_traits< graph >::vertex_descriptor vertex
vertex definition.
boost::graph_traits< graph >::vertex_iterator VertexIterator
vertex_iterator definition.
ChainingSet(const OpGraphConstRef flow_graph)
refcount< T > lock() const
std::size_t get_index1(vertex v) const
Data structures used in operations graph.
System dependence + anti-dependence + output dependence graph + flow graph.
boost::iterator_property_map< std::vector< std::size_t >::iterator, boost::identity_property_map, std::vector< std::size_t >::value_type > rank_pmap_type
boost::graph_traits< graph >::vertices_size_type n_vert
Data structure definition for high-level synthesis flow.
std::size_t get_index0(vertex v) const
std::vector< std::size_t > pred_map
ChainingInformationRef chaining_information
Store the refcounted chaining info.
std::vector< std::size_t > rank_map