P4C
The P4 Compiler
Loading...
Searching...
No Matches
ixbar_realign.h
1
18
19
#ifndef BF_P4C_MAU_IXBAR_REALIGN_H_
20
#define BF_P4C_MAU_IXBAR_REALIGN_H_
21
22
#include <array>
23
24
#include "backends/tofino/bf-p4c/mau/mau_visitor.h"
25
#include "backends/tofino/bf-p4c/mau/resource.h"
26
#include "lib/safe_vector.h"
27
28
using namespace
P4
;
29
30
class
IXBarVerify :
public
MauModifier
{
31
const
PhvInfo
&phv;
32
const
IR::MAU::Table *currentTable =
nullptr
;
33
profile_t
init_apply(
const
IR::Node
*)
override
;
34
bool
preorder(IR::Expression *)
override
{
return
false
; }
35
void
postorder(IR::MAU::Table *)
override
;
36
void
verify_format(
const
IXBar::Use
*);
37
class
GetCurrentUse
;
38
// Array of Map of Stage -> Input Xbar
39
// Tofino 1/2 only uses ixbar[0] for both ingress and egress.
40
std::map<int, std::unique_ptr<IXBar>> ixbar[2];
41
42
public
:
43
explicit
IXBarVerify(
const
PhvInfo
&phv) : phv(phv) {}
44
};
45
46
#endif
/* BF_P4C_MAU_IXBAR_REALIGN_H_ */
IXBarVerify::GetCurrentUse
Definition
ixbar_realign.cpp:25
MauModifier
Definition
mau_visitor.h:45
P4::IR::Node
Definition
node.h:94
P4::Visitor::profile_t
Definition
visitor.h:78
PhvInfo
Definition
phv_fields.h:1095
P4
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition
applyOptionsPragmas.cpp:24
IXBar::Use
Definition
input_xbar.h:191
backends
tofino
bf-p4c
mau
ixbar_realign.h
Generated by
1.13.2