19#ifndef BACKENDS_TOFINO_BF_P4C_PARDE_REWRITE_PARSER_LOCALS_H_
20#define BACKENDS_TOFINO_BF_P4C_PARDE_REWRITE_PARSER_LOCALS_H_
21#include "backends/tofino/bf-p4c/phv/phv_fields.h"
22#include "backends/tofino/bf-p4c/phv/phv_parde_mau_use.h"
23#include "collect_parser_usedef.h"
28 bool preorder(
const IR::BFN::Select *select)
override;
34 explicit GetSelectFieldInfo(
const PhvInfo &phv) : phv(phv) {}
35 Visitor::profile_t init_apply(
const IR::Node *root)
override {
37 return Inspector::init_apply(root);
43 CollectParserInfo &parserInfo;
48 bool preorder(IR::BFN::Extract *)
override;
51 AddParserMatchDefs(
const PhvInfo &phv, CollectParserInfo &parserInfo,
53 : phv(phv), parserInfo(parserInfo), getSelectField(getSelectField), uses(uses) {}
66class RewriteParserMatchDefs :
public PassManager {
68 explicit RewriteParserMatchDefs(
const PhvInfo &phv);
Definition rewrite_parser_locals.h:25
ordered_map< const PHV::Field *, ordered_set< const IR::BFN::ParserState * > > select_field_to_state
A map of select fields to the states that use them.
Definition rewrite_parser_locals.h:33
Definition ordered_map.h:32
Definition phv_fields.h:1095
Definition phv_parde_mau_use.h:154