| 152 | using MaxOutputPortsMap = absl::flat_hash_map<const NodeDef*, int>; |
| 153 | |
| 154 | void SwapFanoutInputs(const MutableGraphView& graph, FanoutsMap* fanouts, |
| 155 | MaxOutputPortsMap* max_output_ports, NodeDef* from_node, |
| 156 | NodeDef* to_node) { |
| 157 | auto from_control_fanouts = fanouts->find({from_node, Graph::kControlSlot}); |
| 158 | if (from_control_fanouts != fanouts->end()) { |
| 159 | SwapControlledFanoutInputs(graph, from_control_fanouts, to_node->name()); |
| 160 | } |
| 161 | auto to_control_fanouts = fanouts->find({to_node, Graph::kControlSlot}); |
| 162 | if (to_control_fanouts != fanouts->end()) { |
| 163 | SwapControlledFanoutInputs(graph, to_control_fanouts, from_node->name()); |
| 164 | } |
| 165 | auto from_max_port = max_output_ports->find(from_node); |
| 166 | if (from_max_port != max_output_ports->end()) { |
| 167 | SwapRegularFanoutInputs(fanouts, from_node, to_node->name(), |
| 168 | from_max_port->second); |
| 169 | } |
| 170 | auto to_max_port = max_output_ports->find(to_node); |
| 171 | if (to_max_port != max_output_ports->end()) { |
| 172 | SwapRegularFanoutInputs(fanouts, to_node, from_node->name(), |
| 173 | to_max_port->second); |
| 174 | } |
| 175 | } |
| 176 | |
| 177 | void SwapFanoutsMapValues(FanoutsMap* fanouts, |
| 178 | const MutableGraphView::OutputPort& from_port, |
no test coverage detected