19#ifndef BF_P4C_BACKEND_H_
20#define BF_P4C_BACKEND_H_
22#include "backends/tofino/bf-p4c/bf-p4c-options.h"
23#include "backends/tofino/bf-p4c/common/bridged_packing.h"
24#include "backends/tofino/bf-p4c/logging/phv_logging.h"
25#include "backends/tofino/bf-p4c/mau/finalize_mau_pred_deps_power.h"
26#include "backends/tofino/bf-p4c/mau/jbay_next_table.h"
27#include "backends/tofino/bf-p4c/mau/mau_alloc.h"
28#include "backends/tofino/bf-p4c/mau/table_dependency_graph.h"
29#include "backends/tofino/bf-p4c/mau/table_mutex.h"
30#include "backends/tofino/bf-p4c/mau/table_summary.h"
31#include "backends/tofino/bf-p4c/parde/clot/clot_info.h"
32#include "backends/tofino/bf-p4c/parde/decaf.h"
33#include "backends/tofino/bf-p4c/parde/parser_header_sequences.h"
34#include "backends/tofino/bf-p4c/phv/mau_backtracker.h"
35#include "backends/tofino/bf-p4c/phv/phv_fields.h"
36#include "backends/tofino/bf-p4c/phv/phv_parde_mau_use.h"
37#include "backends/tofino/bf-p4c/phv/utils/live_range_report.h"
38#include "bf-p4c-options.h"
57 State::state_t compilation_state = State::INITIAL;
81 bool longBranchDisabled;
84 std::set<cstring> zeroInitFields;
86 std::set<PHV::FieldRange> mauInitFields;
91 PhvInfo::resetDarkSpillARA();
92 return PassManager::init_apply(root);
102 const PhvInfo &get_phv()
const {
return phv; }
103 const ClotInfo &get_clot()
const {
return clot; }
104 const FieldDefUse &get_defuse()
const {
return defuse; }
106 const NextTable *get_nxt_tbl()
const {
return &nextTblProp; }
107 const TableSummary &get_tbl_summary()
const {
return table_summary; }
108 const LiveRangeReport *get_live_range_report()
const {
return liveRangeReport; }
112 return flexibleLogging->get_flexible_logging();
116 BUG_CHECK(phvLoggingDefUseInfo,
"DefUse info for PHV logging was not initialized");
117 return phvLoggingDefUseInfo;
120 return table_summary.getTableAlloc();
Definition tofino/bf-p4c/backend.h:46
Definition bf-p4c-options.h:28
static BFNContext & get()
Definition bf-p4c-options.cpp:777
void setBackendOptions(BFN_Options *options)
Record options created in the Backend.
Definition bf-p4c-options.cpp:783
void clearBackendOptions()
Clear the backend options.
Definition bf-p4c-options.cpp:789
Definition clot_info.h:41
Definition next_table.h:45
Definition live_range_report.h:29
Definition bridged_packing.h:750
Definition mau_backtracker.h:29
Definition finalize_mau_pred_deps_power.h:47
Definition next_table.h:26
Definition ir/pass_manager.h:40
Definition ordered_map.h:32
Definition phv_fields.h:1095
Definition phv_logging.h:157
Definition phv_parde_mau_use.h:154
Definition mau_alloc.h:34
Definition table_summary.h:158
Definition mau/table_mutex.h:110
Top level PassManager.
Definition decaf.h:749
Definition field_defuse.h:77
The namespace encapsulating Barefoot/Intel-specific stuff.
Definition add_t2na_meta.cpp:21
Definition phv_logging.h:52
Definition table_dependency_graph.h:52