Deploy RRGraphBuilder
in Regular Routing Resource Graph Building Functions to replace the use of rr_node_indices
#1777
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR focuses on updating the
vpr/src/route/rr_graph.cpp
, where we use the refactored data structureRRGraphBuilder
to replace the legacy data structurerr_node_indices
.This PR aims to eliminate the use of
rr_node_indices
for the regular RRGraph building functionsvpr/src/route/rr_graph.cpp
andvpr/src/route/rr_graph2.cpp
, as one step further in deprecating the legacy data structure.Checklist:
rr_node_indices
for the regular RRGraph building functionsEliminate the use ofThis is due to too many code changes. Prefer to leave for the next pull request.rr_node_indices
for the ClockRRGraph building functionsRelated Issue
This pull request is a follow-up PR on the routing resource graph refactoring effort #1693
Motivation and Context
After the previous PR #1747 , we start reworking all the source files that use the legacy data structure
rr_node_indices
in a high priority, in order to deprecate the legacy data structure as soon as possible.Current statistics on the files that use
rr_node_indices
(in total there are 242 lines related):./pack/post_routing_pb_pin_fixup.cppCovered in another PR DeployRRGraphBuilder
in Client Functions to replace the use ofrr_node_indices
#1779/place/timing_place_lookup.cppCovered in another PR DeployRRGraphBuilder
in Client Functions to replace the use ofrr_node_indices
#1779./route/route_common.cppCovered in another PR DeployRRGraphBuilder
in Client Functions to replace the use ofrr_node_indices
#1779./route/router_lookahead_map.cppCovered in another PR DeployRRGraphBuilder
in Client Functions to replace the use ofrr_node_indices
#1779./route/router_lookahead_map_utils.cppCovered in another PR DeployRRGraphBuilder
in Client Functions to replace the use ofrr_node_indices
#1779Considering the fact that some internal scratchpad data structures are still using the
int
rather thanRRNodeId
, e.g.,vtr-verilog-to-routing/vpr/src/route/rr_graph2.h
Lines 21 to 23 in 6e442d1
vtr-verilog-to-routing/vpr/src/route/rr_edge.h
Lines 4 to 9 in 6e442d1
I try to avoid massive changes to the codes for now.
So, in this PR, I will try to limit the changes to
rr_graph.cpp
.How Has This Been Tested?
Considering this is all about refactoring, this PR does not need to create new tests. Expect all the existing tests to pass.
Types of changes
Checklist: