The naming scheme of the nodes is as follows:
- Initial node:
<function_name>:entry_point:0
- Intermediate node:
<function_name>:<predecessor_function_name>_<predecessor_index>_<successor_of_predecessor_index>:<index_in_dag>
Where<predecessor_function_name>
is the name of the predecessor function,<predecessor_index>
is the index of the predecessor function in the dag,<successor_of_predecessor_index>
is the index of the successor of the predecessor function (when a function calls multiple times the same function, this index is used to distinguish between the different calls), and<index_in_dag>
is the index of the node in the dag in a topological order of dataflow. - Synchronization node:
<function_name>:sync:<index_in_dag>
This naming scheme is used to uniquely identify a node in the logical representation. The scheme has the implication that colons cannot be allowed in the function names.