P4C
The P4 Compiler
|
Public Member Functions | |
Placed (const Placed &p) | |
Placed (TablePlacement &self_, const IR::MAU::Table *t, const Placed *done) | |
const Placed * | diff_prev (const Placed *new_prev) const |
const DecidePlacement::GroupPlace * | find_group (const IR::MAU::Table *tbl) const |
void | gateway_merge (const IR::MAU::Table *, cstring) |
int | init_stage () const |
bool | is_fully_placed (const IR::MAU::Table *tbl) const |
bool | is_fully_placed (const IR::MAU::TableSeq *seq) const |
bool | is_match_placed (const IR::MAU::Table *tbl) const |
bool | is_placed (const IR::MAU::Table *tbl) const |
bool | is_placed (cstring tbl) const |
int | logical_ids () const |
int | logical_ids_left () const |
void | setup_logical_id () |
void | update_attached (Placed *latest) |
void | update_formats () |
void | update_need_more (int needed_entries) |
Public Attributes | |
attached_entries_t | attached_entries |
const int | clone_id |
int | complete_shared = 0 |
int | entries = 0 |
const DecidePlacement::GroupPlace * | group = 0 |
const IR::MAU::Table * | gw = 0 |
cstring | gw_result_tag |
const int | id |
int | logical_id = -1 |
bitvec | match_placed |
cstring | name |
bool | need_more = false |
bool | need_more_match = false |
True if the match table (only) needs to be split across stages. | |
bitvec | placed |
const Placed * | prev = 0 |
int | requested_stage_entries = -1 |
TableResourceAlloc | resources |
TablePlacement & | self |
int | stage = 0 |
cstring | stage_advance_log |
int | stage_flags = 0 |
int | stage_split = -1 |
const IR::MAU::Table * | table |
StageUseEstimate | use |
Friends | |
std::ostream & | operator<< (std::ostream &out, const Placed *pl) |
std::ostream & | operator<< (std::ostream &out, const std::vector< Placed * > &placed_vector) |
|
inline |
Update a Placed object to reflect attached tables being allocated in the same stage due to another table being added to the stage.
bool TablePlacement::Placed::need_more = false |
True if the table needs to be split across multiple stages, because it can't fit within a single stage (eg. not enough entries in the stage).
int TablePlacement::Placed::stage_split = -1 |
Information on which stage table this table is associated with. If the table is never split, then the stage_split should be -1