23 #ifndef INCLUDED_GR_RUNTIME_FLOWGRAPH_H
24 #define INCLUDED_GR_RUNTIME_FLOWGRAPH_H
47 int port()
const {
return d_port; }
49 bool operator==(
const endpoint &other)
const;
54 return (d_basic_block == other.d_basic_block &&
55 d_port == other.d_port);
68 d_basic_block = block; d_port = port; d_is_hier = is_hier;
72 bool is_hier()
const {
return d_is_hier; }
81 return (d_basic_block == other.d_basic_block &&
95 edge() : d_src(), d_dst() { };
97 : d_src(src), d_dst(dst) { }
121 : d_src(src), d_dst(dst) { }
192 std::vector<basic_block_vector_t> partition();
209 void check_dst_not_used(
const endpoint &dst);
212 void check_contiguity(
basic_block_sptr block,
const std::vector<int> &used_ports,
bool check_inputs);
243 os << endp.
block()->alias() <<
":" << endp.
port();
250 os << edge.
src() <<
"->" << edge.
dst();
264 os << edge.
src() <<
"->" << edge.
dst();