@@ -1670,11 +1670,12 @@ static std::function<void(t_chan_width*)> alloc_and_load_rr_graph(RRGraphBuilder
16701670 }
16711671 }
16721672
1673- std::vector<RREdgeId> interposer_edges = mark_interposer_cut_edges_for_removal (rr_graph, grid);
1674- rr_graph_builder.remove_edges (interposer_edges);
1675-
1676- update_interposer_crossing_nodes_in_spatial_lookup_and_rr_graph_storage (rr_graph, grid, rr_graph_builder, sg_node_indices);
1673+ if (!grid.get_horizontal_interposer_cuts ().empty () || !grid.get_vertical_interposer_cuts ().empty ()) {
1674+ std::vector<RREdgeId> interposer_edges = mark_interposer_cut_edges_for_removal (rr_graph, grid);
1675+ rr_graph_builder.remove_edges (interposer_edges);
16771676
1677+ update_interposer_crossing_nodes_in_spatial_lookup_and_rr_graph_storage (rr_graph, grid, rr_graph_builder, sg_node_indices);
1678+ }
16781679
16791680 add_and_connect_non_3d_sg_links (rr_graph_builder, sg_links, sg_node_indices, chan_details_x, chan_details_y, num_seg_types_x, rr_edges_to_create);
16801681 uniquify_edges (rr_edges_to_create);
@@ -2091,7 +2092,7 @@ static void add_and_connect_non_3d_sg_links(RRGraphBuilder& rr_graph_builder,
20912092 // SG links are confined to one layer (non-3D), but can run in X or Y.
20922093 VTR_ASSERT_SAFE (src_loc.layer_num == dst_loc.layer_num );
20932094 const int layer = src_loc.layer_num ;
2094- compute_non_3d_sg_link_geometry (src_loc, dst_loc, chan_type, xlow, xhigh, ylow, yhigh,direction);
2095+ compute_non_3d_sg_link_geometry (src_loc, dst_loc, chan_type, xlow, xhigh, ylow, yhigh, direction);
20952096
20962097 // Retrieve the node ID and track number allocated earlier
20972098 const RRNodeId node_id = sg_node_indices[i].first ;
0 commit comments