P4C
The P4 Compiler
Loading...
Searching...
No Matches
LayoutChoices Class Reference

Public Member Functions

 LayoutChoices (PhvInfo &p, const ReductionOrInfo &ri, SplitAttachedInfo &a)
 
void add_payload_gw_layout (const IR::MAU::Table *tbl, const LayoutOption &base_option)
 
void clear ()
 
const safe_vector< ActionData::Format::Use > & get_action_formats (const IR::MAU::Table *t)
 
const safe_vector< ActionData::Format::Use > & get_action_formats (const IR::MAU::Table *t, ActionData::FormatType_t type)
 
MeterALU::Format::Use get_attached_formats (const IR::MAU::Table *t, ActionData::FormatType_t format_type) const
 
const safe_vector< LayoutOption > & get_layout_options (const IR::MAU::Table *t)
 
const safe_vector< LayoutOption > & get_layout_options (const IR::MAU::Table *t, ActionData::FormatType_t type)
 

Static Public Member Functions

static LayoutChoicescreate (PhvInfo &p, const ReductionOrInfo &ri, SplitAttachedInfo &a)
 

Public Attributes

FindPayloadCandidates fpc
 
const ReductionOrInfored_info
 
std::map< cstring, MeterALU::Format::Usetotal_meter_output_format
 

Protected Types

template<class T >
using cache_t = std::map<key_t, safe_vector<T>>
 
using key_t = std::pair<cstring, ActionData::FormatType_t>
 

Protected Member Functions

int get_pack_pragma_val (const IR::MAU::Table *tbl, const IR::MAU::Table::Layout &layout_proto)
 

Protected Attributes

cache_t< ActionData::Format::Usecache_action_formats
 
cache_t< LayoutOptioncache_layout_options