40 std::map<gress_t, std::set<PHV::Container>> &origParserZeroInitContainers)
43 checksumAlloc(checksumAlloc),
44 origParserZeroInitContainers(origParserZeroInitContainers) {
49 loweredStates[
nullptr] =
nullptr;
52 std::map<const IR::BFN::ParserState *, const IR::BFN::LoweredParserState *> loweredStates;
53 std::set<const IR::BFN::LoweredParserState *> dontMergeStates;
55 const IR::BFN::ContainerRef *igParserError =
nullptr;
56 const IR::BFN::ContainerRef *egParserError =
nullptr;
57 unsigned egressMetaOpt = 0;
58 unsigned egressMetaSize = 0;
61 profile_t init_apply(
const IR::Node *node)
override;
63 bool preorder(
const IR::Type_Header *type)
override;
66 const IR::BFN::Parser *parser,
const IR::BFN::ParserState *state,
67 const std::vector<const IR::BFN::ParserChecksumPrimitive *> &checksums);
69 unsigned int rangeToInt(
const IR::BFN::PacketRVal *range);
74 IR::BFN::LoweredParserChecksum *lowerParserChecksum(
75 const IR::BFN::Parser *parser,
const IR::BFN::ParserState *state,
cstring name,
76 std::vector<const IR::BFN::ParserChecksumPrimitive *> &checksums);
78 unsigned getOffsetIncAmt(
const IR::BFN::ParserState *state);
80 void postorder(
const IR::BFN::ParserState *state)
override;
82 void end_apply()
override;
87 std::map<gress_t, std::set<PHV::Container>> &origParserZeroInitContainers;
89 std::map<gress_t, std::map<unsigned, unsigned>> clotTagToCsumUnit;