P4C
The P4 Compiler
Loading...
Searching...
No Matches
parde/asm_output.h
1
19#ifndef BF_P4C_PARDE_ASM_OUTPUT_H_
20#define BF_P4C_PARDE_ASM_OUTPUT_H_
21
22#include "backends/tofino/bf-p4c/parde/parser_header_sequences.h"
23#include "bf-p4c-options.h"
24#include "ir/ir.h"
25
26class PhvInfo;
27class ClotInfo;
28
33 ParserAsmOutput(const IR::BFN::Pipe *pipe, const PhvInfo &phv, const ClotInfo &clot_info,
34 gress_t gress);
35
36 private:
37 friend std::ostream &operator<<(std::ostream &, const ParserAsmOutput &);
38
39 std::vector<const IR::BFN::BaseLoweredParser *> parsers;
40 const PhvInfo &phv;
41 const ClotInfo &clot_info;
42};
43
48 const IR::BFN::Pipe *pipe;
49 const IR::BFN::Phase0 *phase0;
50 Phase0AsmOutput(const IR::BFN::Pipe *pipe, const IR::BFN::Phase0 *phase0)
51 : pipe(pipe), phase0(phase0) {}
52
53 private:
54 friend std::ostream &operator<<(std::ostream &, const Phase0AsmOutput &);
55};
56
61 DeparserAsmOutput(const IR::BFN::Pipe *pipe, const PhvInfo &phv, const ClotInfo &clot, gress_t);
62
63 const PhvInfo &phv;
64 const ClotInfo &clot;
65
66 private:
67 friend std::ostream &operator<<(std::ostream &, const DeparserAsmOutput &);
68
69 const IR::BFN::LoweredDeparser *deparser;
70};
71
72#endif /* BF_P4C_PARDE_ASM_OUTPUT_H_ */
Definition clot_info.h:41
Definition phv_fields.h:1095
Definition parde/asm_output.h:60
Definition parde/asm_output.h:32
Definition parde/asm_output.h:47