P4C
The P4 Compiler
Loading...
Searching...
No Matches
mau_alloc.h
1
19#ifndef BACKENDS_TOFINO_BF_P4C_MAU_MAU_ALLOC_H_
20#define BACKENDS_TOFINO_BF_P4C_MAU_MAU_ALLOC_H_
21
22#include "backends/tofino/bf-p4c/logging/pass_manager.h"
23#include "backends/tofino/bf-p4c/mau/payload_gateway.h"
24#include "backends/tofino/bf-p4c/mau/table_dependency_graph.h"
25#include "backends/tofino/bf-p4c/mau/table_layout.h"
26#include "backends/tofino/bf-p4c/mau/table_mutex.h"
27#include "backends/tofino/bf-p4c/phv/mau_backtracker.h"
28#include "bf-p4c-options.h"
29#include "ir/ir.h"
30#include "lib/json.h"
31
32class TableSummary;
33
35 private:
36 IgnoreTableDeps ignore;
37 SplitAttachedInfo att_info;
39 ActionMutuallyExclusive action_mutex;
40 const BFN_Options &options;
41 LayoutChoices *lc = nullptr;
42 SharedIndirectAttachedAnalysis *siaa = nullptr;
43
44 public:
46 TableAllocPass(const BFN_Options &options, PhvInfo &phv, DependencyGraph &deps, TableSummary &,
47 Util::JsonObject *, MauBacktracker &mau_backtracker);
48};
49
50#endif /* BACKENDS_TOFINO_BF_P4C_MAU_MAU_ALLOC_H_ */
Definition action_mutex.h:29
Definition bf-p4c-options.h:28
Definition mau/table_mutex.h:36
Definition table_layout.h:83
Definition backends/tofino/bf-p4c/logging/pass_manager.h:36
Definition mau_backtracker.h:29
Definition json.h:164
Definition phv_fields.h:1095
Definition mau/table_mutex.h:160
Definition attached_info.h:235
Definition mau_alloc.h:34
static int table_placement_round
Definition mau_alloc.h:45
Definition table_summary.h:158
Definition mau/table_mutex.h:110
Definition table_dependency_graph.h:52