19#ifndef BF_P4C_COMMON_CHECK_UNINITIALIZED_READ_H_
20#define BF_P4C_COMMON_CHECK_UNINITIALIZED_READ_H_
22#include "backends/tofino/bf-p4c/arch/bridge_metadata.h"
23#include "backends/tofino/bf-p4c/common/field_defuse.h"
24#include "backends/tofino/bf-p4c/mau/table_dependency_graph.h"
25#include "backends/tofino/bf-p4c/phv/phv_parde_mau_use.h"
26#include "backends/tofino/bf-p4c/phv/pragma/phv_pragmas.h"
58 bool operator<(
const uninit_read &other)
const {
59 return std::tie(field_slice, overlay_slice, field_cont_slice, overlay_cont_slice, loc) <
60 std::tie(other.field_slice, other.overlay_slice, other.field_cont_slice,
61 other.overlay_cont_slice, loc);
67 field_cont_slice(fcs),
68 overlay_cont_slice(ocs),
75 : defuse(defuse), phv(phv), pragmas(pragmas), deps(deps) {}
77 bool preorder(
const IR::BFN::DeparserParameter *param)
override;
78 bool preorder(
const IR::BFN::Digest *digest)
override;
80 void end_apply()
override;
Definition bf-p4c-options.h:28
Definition check_uninitialized_read.h:83
Definition check_uninitialized_read.h:42
bool preorder(const IR::BFN::DeparserParameter *param) override
Definition check_uninitialized_read.cpp:26
Definition ir/pass_manager.h:40
Definition ordered_set.h:32
Definition phv_pragmas.h:46
Definition phv_fields.h:1095
Definition field_defuse.h:77
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24
Definition table_dependency_graph.h:52