
Classes | |
| class | ControlStack |
Public Member Functions | |
| ControlGraphs (P4::ReferenceMap *refMap, P4::TypeMap *typeMap, const cstring &graphsDir) | |
| bool | preorder (const IR::AssignmentStatement *statement) override |
| bool | preorder (const IR::BlockStatement *statement) override |
| bool | preorder (const IR::ControlBlock *block) override |
| bool | preorder (const IR::ExitStatement *) override |
| bool | preorder (const IR::IfStatement *statement) override |
| bool | preorder (const IR::Key *key) override |
| bool | preorder (const IR::MethodCallStatement *statement) override |
| bool | preorder (const IR::P4Action *action) override |
| bool | preorder (const IR::P4Control *cont) override |
| bool | preorder (const IR::P4Table *table) override |
| bool | preorder (const IR::PackageBlock *block) override |
| bool | preorder (const IR::ReturnStatement *) override |
| bool | preorder (const IR::SwitchStatement *statement) override |
Public Member Functions inherited from graphs::Graphs | |
| vertex_t | add_and_connect_vertex (const cstring &name, VertexType type) |
| void | add_edge (const vertex_t &from, const vertex_t &to, const cstring &name) |
| void | add_edge (const vertex_t &from, const vertex_t &to, const cstring &name, unsigned cluster_id) |
| used to connect subgraphs | |
| vertex_t | add_vertex (const cstring &name, VertexType type) |
| std::optional< vertex_t > | merge_other_statements_into_vertex () |
Public Attributes | |
| std::vector< Graph * > | controlGraphsArray {} |
Additional Inherited Members | |
Public Types inherited from graphs::Graphs | |
| using | edgeProperties |
| using | Graph = boost::subgraph<Graph_> |
| using | Graph_ |
| using | graphProperties |
| using | GraphvizAttributes = std::map<cstring, cstring> |
| using | Parents = std::vector<std::pair<vertex_t, EdgeTypeIface *>> |
| using | vertex_t = boost::graph_traits<Graph>::vertex_descriptor |
| using | vertexProperties = boost::property<boost::vertex_attribute_t, GraphvizAttributes, Vertex> |
| enum class | VertexType { TABLE , KEY , ACTION , CONDITION , SWITCH , STATEMENTS , CONTROL , OTHER , STATE , EMPTY } |
Protected Attributes inherited from graphs::Graphs | |
| vertex_t | exit_v {} |
| Graph * | g {nullptr} |
| Parents | parents {} |
| vertex_t | start_v {} |
| std::vector< const IR::Statement * > | statementsStack {} |