P4C
The P4 Compiler
Loading...
Searching...
No Matches
asm.h
1
19#ifndef _BACKENDS_TOFINO_BF_P4C_ASM_H_
20#define _BACKENDS_TOFINO_BF_P4C_ASM_H_
21
22#include <string>
23
24#include "bf-p4c/bf-p4c-options.h"
25#include "bf-p4c/common/bridged_packing.h"
26#include "bf-p4c/common/utils.h"
27#include "bf-p4c/mau/asm_output.h"
28#include "bf-p4c/mau/jbay_next_table.h"
29#include "bf-p4c/mau/tofino/asm_output.h"
30#include "bf-p4c/parde/asm_output.h"
31#include "bf-p4c/parde/clot/clot_info.h"
32#include "bf-p4c/parde/parser_header_sequences.h"
33#include "bf-p4c/phv/asm_output.h"
34#include "bf-p4c/phv/phv_fields.h"
35#include "bf-p4c/phv/utils/live_range_report.h"
36
37class FieldDefUse;
38
39namespace BFN {
40
58class AsmOutput : public Inspector {
59 private:
60 int pipe_id;
61 const PhvInfo &phv;
62 const ClotInfo &clot;
63 const FieldDefUse &defuse;
64 const LogRepackedHeaders *flex;
65 const NextTable *nxt_tbl;
66 const MauPower::FinalizeMauPredDepsPower *power_and_mpr;
67 const TableSummary &tbl_summary;
68 const LiveRangeReport *live_range_report;
69 const ParserHeaderSequences &prsr_header_seqs;
70 const BFN_Options &options;
72 bool _successfulCompile = true;
73 std::string ghostPhvContainer() const;
74
75 public:
76 AsmOutput(int pipe_id, const PhvInfo &phv, const ClotInfo &clot, const FieldDefUse &defuse,
77 const LogRepackedHeaders *flex, const NextTable *nxts,
78 const MauPower::FinalizeMauPredDepsPower *pmpr, const TableSummary &tbl_summary,
79 const LiveRangeReport *live_range_report,
80 const ParserHeaderSequences &prsr_header_seqs, const BFN_Options &opts, bool success);
81
82 bool preorder(const IR::BFN::Pipe *pipe) override;
83};
84
85} /* namespace BFN */
86
87#endif /* _BACKENDS_TOFINO_BF_P4C_ASM_H_ */
Definition bf-p4c-options.h:28
Definition clot_info.h:41
Definition live_range_report.h:29
Definition bridged_packing.h:719
Definition finalize_mau_pred_deps_power.h:47
Definition next_table.h:26
Definition visitor.h:400
Identify parsed header sequences.
Definition parser_header_sequences.h:42
Definition phv_fields.h:1095
Definition table_summary.h:158
Generate assembly output.
Definition asm.h:58
Definition field_defuse.h:77
The namespace encapsulating Barefoot/Intel-specific stuff.
Definition add_t2na_meta.cpp:21