-
Notifications
You must be signed in to change notification settings - Fork 773
Thin drt db #9288
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Thin drt db #9288
Conversation
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
The transform usage in drt is non-standard and should be cleaned up. Signed-off-by: Matt Liberty <[email protected]>
No value to the intermediate classes and removes dead methods. Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
Signed-off-by: Matt Liberty <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request is a significant and well-executed refactoring to "thin" the drt database objects. Key changes include:
- Removing duplicated state (like name and transform) from
frInstand making it a lightweight wrapper aroundodb::dbInst. - Simplifying the class hierarchy by removing the
frRefintermediate class.frInstnow inherits directly fromfrBlockObject, andfrViafromfrPinFig. - Consistently updating the codebase to reflect these changes, including constructors, accessors, and related logic in various modules like pin access, IO, and GC.
- Cleaning up code by removing unnecessary comments and fixing minor typos.
These changes effectively reduce memory usage and code complexity, improving maintainability. The refactoring appears to be correct and consistently applied. I have not found any issues in this pull request.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
|
|
||
| #include "db/obj/frBlock.h" | ||
| #include <algorithm> | ||
| #include <memory> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: included header algorithm is not used directly [misc-include-cleaner]
| #include <memory> | |
| #include <memory> |
|
|
||
| void frInst::addInstTerm(std::unique_ptr<frInstTerm> in) | ||
| { | ||
| instTerms_.push_back(std::move(in)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: no header providing "std::move" is directly included [misc-include-cleaner]
src/drt/src/db/obj/frInst.cpp:8:
+ #include <utility>| void frVia::serialize(Archive& ar, const unsigned int version) | ||
| { | ||
| (ar) & boost::serialization::base_object<frRef>(*this); | ||
| (ar) & boost::serialization::base_object<frPinFig>(*this); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: no header providing "boost::serialization::base_object" is directly included [misc-include-cleaner]
src/drt/src/db/obj/frVia.cpp:4:
+ #include <boost/serialization/base_object.hpp>
No description provided.