19#ifndef BACKENDS_TOFINO_BF_P4C_MAU_DYNAMIC_DEP_METRICS_H_
20#define BACKENDS_TOFINO_BF_P4C_MAU_DYNAMIC_DEP_METRICS_H_
24#include "backends/tofino/bf-p4c/mau/table_dependency_graph.h"
33 std::function<bool(
const IR::MAU::Table *)> placed_tables;
38 : ntp(n), con_paths(cp), dg(d) {}
41 const IR::MAU::Table *b)
const;
43 void score_on_seq(
const IR::MAU::TableSeq *seq,
const IR::MAU::Table *tbl,
int &max_dep_impact,
45 void update_placed_tables(std::function<
bool(
const IR::MAU::Table *)> pt) {
Definition table_dependency_graph.h:938
Definition table_dependency_graph.h:972
Definition dynamic_dep_metrics.h:28
int placeable_cds_count(const IR::MAU::Table *tbl, ordered_set< const IR::MAU::Table * > &already_placed_in_stage) const
Definition mau/dynamic_dep_metrics.cpp:159
bool can_place_cds_in_stage(const IR::MAU::Table *tbl, ordered_set< const IR::MAU::Table * > &already_placed_in_table) const
Definition mau/dynamic_dep_metrics.cpp:144
void score_on_seq(const IR::MAU::TableSeq *seq, const IR::MAU::Table *tbl, int &max_dep_impact, char type) const
Definition mau/dynamic_dep_metrics.cpp:21
int total_deps_of_dom_frontier(const IR::MAU::Table *a) const
Definition mau/dynamic_dep_metrics.cpp:131
std::pair< int, int > get_downward_prop_score(const IR::MAU::Table *a, const IR::MAU::Table *b) const
Definition mau/dynamic_dep_metrics.cpp:80
double average_cds_chain_length(const IR::MAU::Table *tbl) const
Definition mau/dynamic_dep_metrics.cpp:185
Definition ordered_set.h:32
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24
Definition table_dependency_graph.h:52