19#ifndef BF_P4C_MAU_ATTACHED_OUTPUT_H_
20#define BF_P4C_MAU_ATTACHED_OUTPUT_H_
22#include "backends/tofino/bf-p4c/mau/action_format.h"
29using OperationsPerAction = std::map<cstring, safe_vector<ActionData::ALUOperation *>>;
31using AttachedToTableMap =
53 for (
auto &pos : act.second) rv.push_back(&pos);
66 profile_t init_apply(
const IR::Node *node)
override {
67 auto rv = MauInspector::init_apply(node);
68 operations_per_table.clear();
69 attached_to_table_map.clear();
75 void create_alu_ops_for_action(ActionAnalysis::ContainerActionsMap &ca_map,
cstring action_name,
76 OperationsPerAction &ops_per_action);
77 bool preorder(
const IR::MAU::Table *tbl)
override;
78 void build_use(OperationsPerAction &ops_per_action, Use *use);
79 void end_apply()
override;
Definition action_format.h:485
Definition table_layout.h:83
Definition mau_visitor.h:29
Definition ordered_map.h:32
Definition safe_vector.h:27
Definition phv_fields.h:1095
Definition attached_output.cpp:24
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24
Definition action_analysis.h:65