-
Notifications
You must be signed in to change notification settings - Fork 1k
celltypes: compile-time lookup tables for internal cells #5512
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: main
Are you sure you want to change the base?
Conversation
260764a to
4b55e5f
Compare
|
|
|
I hope everybody is excited to have 40+ second link times with LTO on though! |
|
Up to a 16% speedup now, probably mostly thanks to opt_dff by porting |
|
Laughs in 15 minute Wasm LTO link times |
|
Sounds like this change would make the LTO link time for WASI even worse. If I rewrite this into a C++ code generator, we should suffer less with LTO across platforms... annoying, but easy |
Intends to fix #5509. The core idea is that
CellTypesusage for Yosys internal cells can be directed to a simple compile time constructed integer lookup table for the typeIdStringindex instead of hashing the type. Also improves memory locality with data spread across multiple arrays rather than vector of struct CellTypes.So far, I've already seen 0-2% gain in the current partial implementation, which only for known_cells and only for CellTypes that only touch internal cells. I'm pretty sure internal cells can be fast pathed to this in CellTypes constructed from user designs, too. Compilation times seem fine so far