19#ifndef P4C_BACKENDS_TOFINO_BF_P4C_PHV_ANALYSIS_NON_MOCHA_DARK_FIELDS_H_
20#define P4C_BACKENDS_TOFINO_BF_P4C_PHV_ANALYSIS_NON_MOCHA_DARK_FIELDS_H_
22#include "bf-p4c/common/field_defuse.h"
23#include "bf-p4c/mau/action_analysis.h"
24#include "bf-p4c/phv/phv.h"
25#include "bf-p4c/phv/phv_fields.h"
26#include "bf-p4c/phv/pragma/phv_pragmas.h"
31 using FieldMap = std::map<const int, std::map<const IR::MAU::Table *, PHV::FieldUse>>;
54 bool preorder(
const IR::MAU::Action *act)
override;
55 void end_apply()
override;
64 noInitFields(pragmas.pa_no_init().
getFields()),
72 const FieldMap &getNonMocha()
const {
return nonMocha; }
74 const FieldMap &getNonDark()
const {
return nonDark; }
Definition non_mocha_dark_fields.h:29
Definition ordered_set.h:32
Definition phv_fields.h:154
Definition phv_pragmas.h:46
Definition phv_fields.h:1095
Definition phv_parde_mau_use.h:154
const ordered_set< const PHV::Field * > & getNotDeparsedFields() const
Definition pa_deparser_zero.h:57
const ordered_set< const PHV::Field * > & getFields() const
Definition pa_no_init.h:61
Definition field_defuse.h:77
Definition reduction_or.h:47