P4C
The P4 Compiler
Loading...
Searching...
No Matches
mirror.h
1
19#ifndef BF_P4C_ARCH_FROMV1_0_MIRROR_H_
20#define BF_P4C_ARCH_FROMV1_0_MIRROR_H_
21
22#include "ir/ir.h"
23#include "ir/pass_manager.h"
24
25namespace P4 {
26class ReferenceMap;
27class TypeMap;
28} // namespace P4
29
30namespace BFN {
31
32using FieldListId = std::tuple<gress_t, unsigned, cstring>;
33using MirroredFieldList = IR::Vector<IR::Expression>;
34using MirroredFieldLists = std::map<FieldListId, const MirroredFieldList *>;
35
53 MirroredFieldLists fieldLists;
54
55 public:
56 FixupMirrorMetadata(P4::ReferenceMap *refMap, P4::TypeMap *typeMap, bool use_bridge_metadata);
57};
58
59} // namespace BFN
60
61#endif /* BF_P4C_ARCH_FROMV1_0_MIRROR_H_ */
Definition mirror.h:52
Definition ir/pass_manager.h:40
Class used to encode maps from paths to declarations.
Definition referenceMap.h:66
Definition typeMap.h:41
The namespace encapsulating Barefoot/Intel-specific stuff.
Definition add_t2na_meta.cpp:21
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24