Revert "Undo the pad changes and save them for later"#10314
Revert "Undo the pad changes and save them for later"#10314openroad-ci wants to merge 3 commits intoThe-OpenROAD-Project:masterfrom
Conversation
This reverts commit d7e11c6. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
There was a problem hiding this comment.
Code Review
This pull request improves the stability and determinism of the RDL router by incorporating lexicographical comparisons (names and IDs) into sorting logic and map keys. It also introduces a tie-breaking direction bias in edge weight calculations. Review feedback focuses on performance optimizations, specifically recommending the use of std::string_view instead of std::string to avoid unnecessary heap allocations during frequent comparisons. Additionally, it is suggested to replace a hardcoded magic number in the edge weight logic with a named constant and provide a clarifying comment regarding the heuristic rationale.
|
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
dbITerm::getName() returns std::string by value (constructed on the fly), so binding the result to std::string_view leaves the view aliasing a destroyed temporary at the next statement. Switch the two sort/compare sites in RDLRoute to const std::string& -- lifetime extension of the temporary keeps the reference valid -- and apply the same const-ref form to the DbNetPtrLess / DbITermPtrLess comparators in RDLRouter.h to avoid an unnecessary copy. Drop the now-unused <map> include from RDLRoute.h and the <string_view>/<tuple> includes from RDLRoute.cpp. Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
|
clang-tidy review says "All clean, LGTM! 👍" |
This reverts commit d7e11c6.
Summary
Make rdl more deterministic
Type of Change
Impact
Makes the tests pass in bazel and cmake
Verification
./etc/Build.sh).Related Issues
[Link issues here]