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

Public Member Functions

void add_action_name_json (Util::JsonObject *edgeMdJson)
 
void add_anti_type_json (Util::JsonObject *edgeMdJson)
 
void add_condition_value_json (Util::JsonObject *edgeMdJson)
 
bool add_dep_field (const PHV::Field *s)
 
void add_dep_fields_json (Util::JsonObject *edgeMdJson)
 
void add_exit_action_name_json (Util::JsonObject *edgeMdJson)
 
void add_phv_number_json (Util::JsonObject *edgeMdJson)
 
void add_sub_type_json (Util::JsonObject *edgeMdJson)
 
void add_type_json (Util::JsonObject *edgeMdJson)
 
Util::JsonObjectcreate_edge_json ()
 
Util::JsonObjectcreate_edge_md_json ()
 

Public Attributes

cstring action_name = ""_cs
 
bool condition_value
 
std::vector< TableGraphFielddep_fields
 
cstring exit_action_name = ""_cs
 
int id = -1
 
bool is_critical = false
 
DependencyGraph::dependencies_t label
 
int phv_number = -1
 
int source = -1
 
std::vector< cstringtags
 
int target = -1
 

Static Public Attributes

static ordered_map< DependencyGraph::dependencies_t, cstringlabels_to_anti_types
 
static ordered_map< DependencyGraph::dependencies_t, bool > labels_to_conds
 
static ordered_map< DependencyGraph::dependencies_t, cstringlabels_to_sub_types
 
static ordered_map< DependencyGraph::dependencies_t, cstringlabels_to_types
 

Member Data Documentation

◆ labels_to_anti_types

ordered_map< DependencyGraph::dependencies_t, cstring > TableGraphEdge::labels_to_anti_types
static
Initial value:
= {
{DependencyGraph::ANTI_TABLE_READ, "table_read"_cs},
{DependencyGraph::ANTI_ACTION_READ, "action_read"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_DATA, "next_table_data"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_CONTROL, "next_table_control"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_METADATA, "table_metadata"_cs}}

◆ labels_to_conds

ordered_map< DependencyGraph::dependencies_t, bool > TableGraphEdge::labels_to_conds
static
Initial value:
= {
{DependencyGraph::CONTROL_COND_TRUE, true}, {DependencyGraph::CONTROL_COND_FALSE, false}}

◆ labels_to_sub_types

ordered_map< DependencyGraph::dependencies_t, cstring > TableGraphEdge::labels_to_sub_types
static
Initial value:
= {
{DependencyGraph::IXBAR_READ, "ixbar_read"_cs},
{DependencyGraph::ACTION_READ, "action_read"_cs},
{DependencyGraph::OUTPUT, "output"_cs},
{DependencyGraph::CONT_CONFLICT, "cont_conflict"_cs},
{DependencyGraph::REDUCTION_OR_READ, "reduction_or_read"_cs},
{DependencyGraph::REDUCTION_OR_OUTPUT, "reduction_or_output"_cs},
{DependencyGraph::ANTI_TABLE_READ, "anti"_cs},
{DependencyGraph::ANTI_ACTION_READ, "anti"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_DATA, "anti"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_CONTROL, "anti"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_METADATA, "anti"_cs},
{DependencyGraph::ANTI_EXIT, "exit"_cs},
{DependencyGraph::NONE, "none"_cs},
{DependencyGraph::CONTROL_ACTION, "action"_cs},
{DependencyGraph::CONTROL_COND_TRUE, "condition"_cs},
{DependencyGraph::CONTROL_COND_FALSE, "condition"_cs},
{DependencyGraph::CONTROL_TABLE_HIT, "table_hit"_cs},
{DependencyGraph::CONTROL_TABLE_MISS, "table_miss"_cs},
{DependencyGraph::CONTROL_DEFAULT_NEXT_TABLE, "default_next_table"_cs},
{DependencyGraph::CONTROL_EXIT, "control_exit"_cs}}

◆ labels_to_types

ordered_map< DependencyGraph::dependencies_t, cstring > TableGraphEdge::labels_to_types
static
Initial value:
= {
{DependencyGraph::IXBAR_READ, "match"_cs},
{DependencyGraph::ACTION_READ, "action"_cs},
{DependencyGraph::OUTPUT, "action"_cs},
{DependencyGraph::CONT_CONFLICT, "action"_cs},
{DependencyGraph::REDUCTION_OR_READ, "reduction_or"_cs},
{DependencyGraph::REDUCTION_OR_OUTPUT, "reduction_or"_cs},
{DependencyGraph::ANTI_TABLE_READ, "control"_cs},
{DependencyGraph::ANTI_ACTION_READ, "control"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_DATA, "control"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_CONTROL, "control"_cs},
{DependencyGraph::ANTI_NEXT_TABLE_METADATA, "control"_cs},
{DependencyGraph::ANTI_EXIT, "control"_cs},
{DependencyGraph::NONE, "none"_cs},
{DependencyGraph::CONTROL_ACTION, "control"_cs},
{DependencyGraph::CONTROL_COND_TRUE, "control"_cs},
{DependencyGraph::CONTROL_COND_FALSE, "control"_cs},
{DependencyGraph::CONTROL_TABLE_HIT, "control"_cs},
{DependencyGraph::CONTROL_TABLE_MISS, "control"_cs},
{DependencyGraph::CONTROL_DEFAULT_NEXT_TABLE, "control"_cs},
{DependencyGraph::CONTROL_EXIT, "control"_cs}}