![]() |
P4C
The P4 Compiler
|
Public Member Functions | |
| ExtendedCallGraph (std::string_view name) | |
| void | addToHash (T vertex, IR::ID name) |
| const ReachabilityHashType & | getHash () const |
| bool | isReachable (T start, T element) const |
Public Member Functions inherited from P4::CallGraph< T > | |
| CallGraph (std::string_view name) | |
| void | add (T caller) |
| const_iterator | begin () const |
| void | calls (T caller, T callee) |
| Loops * | compute_loops (T start) |
| void | dominators (T start, std::map< T, Set > &dominators) |
| const_iterator | end () const |
| std::vector< T > * | getCallees (T caller) |
| void | getCallees (T caller, std::set< T > &toAppend) |
| std::vector< T > * | getCallers (T callee) |
| const cstring & | getName () const |
| bool | isCallee (T callee) const |
| bool | isCaller (T caller) const |
| void | reachable (T start, std::set< T > &out) const |
| void | remove (T node) |
| void | restrict (const std::set< T > &to) |
| bool | sccSort (T start, std::vector< T > &out) |
| size_t | size () const |
| bool | sort (std::vector< T > &out) |
| bool | sort (std::vector< T > &start, std::vector< T > &out) |
Friends | |
| class | P4ProgramDCGCreator |
Additional Inherited Members | |
Public Types inherited from P4::CallGraph< T > | |
| typedef ordered_map< T, std::vector< T > * >::const_iterator | const_iterator |
| typedef std::unordered_set< T > | Set |
Public Attributes inherited from P4::CallGraph< T > | |
| ordered_set< T > | nodes |
Protected Member Functions inherited from P4::CallGraph< T > | |
| bool | strongConnect (T node, sccInfo &helper, std::vector< T > &out) |
Static Protected Member Functions inherited from P4::CallGraph< T > | |
| static void | insersectWith (Set &set, Set &with) |
Protected Attributes inherited from P4::CallGraph< T > | |
| ordered_map< T, std::vector< T > * > | in_edges |
| cstring | name |
| ordered_map< T, std::vector< T > * > | out_edges |
|
inline |
Function adds current vertex to a hash which allows to get access for vertexes from string in DCG. If name is empty then it doesn't hash it.