19#ifndef BF_P4C_MAU_REDUCTION_OR_H_
20#define BF_P4C_MAU_REDUCTION_OR_H_
24#include "backends/tofino/bf-p4c/mau/mau_visitor.h"
25#include "lib/ordered_set.h"
48 using SaluReductionOrGroup = std::map<cstring, ordered_set<const IR::MAU::StatefulAlu *>>;
49 using TblReductionOrGroup = std::map<cstring, ordered_set<const IR::MAU::Table *>>;
51 SaluReductionOrGroup salu_reduction_or_group;
52 TblReductionOrGroup tbl_reduction_or_group;
53 bool is_reduction_or(
const IR::MAU::Instruction *,
const IR::MAU::Table *,
57 salu_reduction_or_group.clear();
58 tbl_reduction_or_group.clear();
64 bool preorder(
const IR::MAU::StatefulAlu *)
override;
65 bool preorder(
const IR::MAU::Action *)
override {
return false; }
Definition reduction_or.h:62
Definition mau_visitor.h:29
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24
Definition reduction_or.h:47
bool is_reduction_or(const IR::MAU::Instruction *, const IR::MAU::Table *, cstring &red_or_key) const
Definition reduction_or.cpp:30