@@ -700,6 +700,7 @@ void t_rr_graph_storage::set_virtual_clock_network_root_idx(RRNodeId virtual_clo
700700}
701701
702702void t_rr_graph_storage::remove_nodes (const std::vector<RRNodeId>& nodes) {
703+ VTR_ASSERT (!edges_read_);
703704 // To remove the nodes, we first sort them in ascending order. This makes it easy
704705 // to calculate the offset by which other node IDs need to be adjusted.
705706 // For example, after sorting the nodes to be removed, if a node ID falls between
@@ -720,8 +721,6 @@ void t_rr_graph_storage::remove_nodes(const std::vector<RRNodeId>& nodes) {
720721 RRNodeId new_node = RRNodeId (j-(i+1 ));
721722 node_storage_[new_node] = node_storage_[old_node];
722723 node_ptc_[new_node] = node_ptc_[old_node];
723- node_first_edge_[new_node] = node_first_edge_[old_node];
724- node_fan_in_[new_node] = node_fan_in_[old_node];
725724 node_layer_[new_node] = node_layer_[old_node];
726725 node_name_[new_node] = node_name_[old_node];
727726 if (is_tileable_) {
@@ -737,8 +736,6 @@ void t_rr_graph_storage::remove_nodes(const std::vector<RRNodeId>& nodes) {
737736 VTR_ASSERT (num_nodes_to_remove <= node_storage_.size ());
738737 node_storage_.erase (node_storage_.end ()-num_nodes_to_remove, node_storage_.end ());
739738 node_ptc_.erase (node_ptc_.end ()-num_nodes_to_remove, node_ptc_.end ());
740- node_first_edge_.erase (node_first_edge_.end ()-num_nodes_to_remove, node_first_edge_.end ());
741- node_fan_in_.erase (node_fan_in_.end ()-num_nodes_to_remove, node_fan_in_.end ());
742739 node_layer_.erase (node_layer_.end ()-num_nodes_to_remove, node_layer_.end ());
743740 for (size_t node_index = node_name_.size ()-num_nodes_to_remove; node_index < node_name_.size (); ++node_index) {
744741 RRNodeId node = RRNodeId (node_index);
0 commit comments