P4C
The P4 Compiler
Loading...
Searching...
No Matches
phv_allocation_v2.h
1
19#ifndef BF_P4C_PHV_V2_PHV_ALLOCATION_V2_H_
20#define BF_P4C_PHV_V2_PHV_ALLOCATION_V2_H_
21
22#include "backends/tofino/bf-p4c/phv/mau_backtracker.h"
23#include "backends/tofino/bf-p4c/phv/utils/utils.h"
24#include "backends/tofino/bf-p4c/phv/v2/phv_kit.h"
25#include "lib/cstring.h"
26
27namespace PHV {
28namespace v2 {
29
30class PhvAllocation : public Visitor {
31 const PhvKit &kit_i;
32 const MauBacktracker &mau_bt_i;
33 PhvInfo &phv_i;
34 int pipe_id_i = -1;
35
36 const IR::Node *apply_visitor(const IR::Node *root, const char *name = 0) override;
37
38 public:
39 PhvAllocation(const PhvKit &kit, const MauBacktracker &mau, PhvInfo &phv)
40 : kit_i(kit), mau_bt_i(mau), phv_i(phv) {}
41};
42
43} // namespace v2
44} // namespace PHV
45
46#endif /* BF_P4C_PHV_V2_PHV_ALLOCATION_V2_H_ */
Definition mau_backtracker.h:29
Definition node.h:94
Definition visitor.h:75
Definition phv_allocation_v2.h:30
Definition phv_fields.h:1095
The namespace encapsulating PHV-related stuff.
Definition gateway.h:32
Definition phv_kit.h:46