Commit Graph

4844 Commits

Author SHA1 Message Date
Emil J. Tywoniak 71af584530 opt_clean: refactor 2026-02-25 13:41:33 +01:00
Emil J. Tywoniak 89fdc05784 opt_clean: refactor 2026-02-25 13:38:44 +01:00
Emil J. Tywoniak ff67ef6377 opt_clean: refactor 2026-02-24 15:41:47 +01:00
Emil J. Tywoniak ba3d62f8f1 opt_clean: fix out of tree build 2026-02-24 13:09:03 +01:00
Emil J. Tywoniak d33acfe65f opt_clean: refactor 2026-02-24 13:03:16 +01:00
Emil J. Tywoniak 5d3b3ff18d opt_clean: refactor 2026-02-24 12:54:03 +01:00
Emil J. Tywoniak 930bd3acc5 opt_clean: refactor 2026-02-24 12:28:41 +01:00
Emil J. Tywoniak 60681ff126 opt_clean: refactor 2026-02-24 12:11:01 +01:00
Emil J. Tywoniak e13f989234 opt_clean: refactor 2026-02-24 11:33:06 +01:00
Emil J. Tywoniak 90bd16f600 opt_clean: refactor 2026-02-24 10:39:26 +01:00
Emil J. Tywoniak 723258de2d opt_clean: refactor 2026-02-24 10:39:26 +01:00
Emil J. Tywoniak ef536c4b1d opt_clean: refactor 2026-02-24 10:39:26 +01:00
Emil J. Tywoniak 17d667eab0 opt_clean: refactor 2026-02-24 10:39:26 +01:00
Emil J. Tywoniak 8dc9c48d4a opt_clean: refactor 2026-02-24 10:39:17 +01:00
Emil J. Tywoniak 97166d5aad opt_clean: refactor 2026-02-24 10:39:13 +01:00
Emil J. Tywoniak 187e91ad65 opt_clean: refactor 2026-02-24 10:39:13 +01:00
Emil J. Tywoniak 17688f053b opt_clean: refactor 2026-02-24 10:39:13 +01:00
Emil J. Tywoniak 090a0fd575 opt_clean: refactor 2026-02-24 10:39:13 +01:00
Emil J. Tywoniak 7d7978a929 opt_clean: more comments 2026-02-24 10:38:59 +01:00
Emil J. Tywoniak 9710be2f84 opt_clean: more comments 2026-02-24 10:38:59 +01:00
Emil J. Tywoniak a5f554f00a opt_clean: add extra comments 2026-02-24 10:38:59 +01:00
Robert O'Callahan f2340639e8 Pass the module `Subpool` to `rmunused_module_signals` and parallelize that function 2026-02-17 03:24:52 +00:00
Robert O'Callahan cbb5d8fa12 Pass the module `Subpool` to `rmunused_module_cells` and parallelize that function 2026-02-17 03:24:52 +00:00
Robert O'Callahan e213437095 Pass the module `Subpool` to `rmunused_module_init` and parallelize that function 2026-02-17 03:24:51 +00:00
Robert O'Callahan 2659f32616 Pass the toplevel thread pool to `rmunused_module`, create a `Subpool`, and parallelize `remove_temporary_cells` 2026-02-17 03:24:51 +00:00
Robert O'Callahan 0a64402dde Create a toplevel `ParallelDispatchThreadPool` and parallelize `keep_cache_t::scan_module()` with it 2026-02-17 03:24:51 +00:00
Robert O'Callahan 20189460bd Introduce `RmStats` struct to encapsulate removal statistics
Turns out this is not strictly necessary for this PR but it's
still a good thing to do and makes it clearer that the stats
are not modified in a possibly racy way.
2026-02-17 03:24:51 +00:00
Robert O'Callahan b153fc2d16 Make `keep_cache_t` process all modules up-front instead of on-demand
We will want to query `keep_cache` from parallel threads. If we compute
the results on-demand, that means we need synchronization for cache
access in those queries, which adds complexity and overhead. Instead, prefill
the cache with the status of all relevant modules. Note that this doesn't
actually do more work --- we always consult `keep_cache` for all cells of
all selected modules, so scanning all those cells and determining the kept
status of all dependency modules is always required.

Later in this PR we're going to parallelize `scan_module` itself, and that's also
much easier to do when no other parallel threads are running.
2026-02-17 03:24:51 +00:00
Gus Smith 8ab105ac28
Merge pull request #4303 from Coloquinte/sat_choice
Infrastructure to run a Sat solver as a command
2026-02-11 06:54:53 -08:00
Emil J fba29ea8f1
Merge pull request #5679 from YosysHQ/emil/abc9-remove-liberty
abc9: remove -liberty
2026-02-11 12:36:29 +01:00
Emil J. Tywoniak 915912cc76 abc9: remove -dont_use 2026-02-11 11:39:09 +01:00
Emil J. Tywoniak c4094e457b abc9: remove -genlib, -constr 2026-02-11 11:34:54 +01:00
Emil J. Tywoniak 5a46106a46 abc9: remove -liberty 2026-02-11 01:04:50 +01:00
Gus Smith 6f6fa49d3c Typo 2026-02-09 09:05:56 -08:00
Gus Smith 1502e23371 Set solver from scratchpad or command line 2026-02-06 19:26:32 -08:00
Gus Smith f062a0c8d6 Typo 2026-02-06 17:26:08 -08:00
Robert O'Callahan 34f8582725
Sanitize ABC global and per-run temporary directory names in logs 2026-02-07 12:12:13 +13:00
Emil J 1717fa0180
Merge pull request #5663 from YosysHQ/emil/opt_expr-fix-pow-shift
opt_expr: fix const lhs of $pow to $shl
2026-02-05 13:09:01 +01:00
Emil J 8bbde80e02
Merge pull request #5631 from rocallahan/cleanup-compare-signals
Clean up `compare_signals()` in `opt_clean`
2026-02-04 17:45:05 +01:00
Emil J 992e64342c
Merge pull request #5621 from rocallahan/remove-opt-sort
Remove `Design::sort()` calls from optimization passes
2026-02-04 16:55:56 +01:00
Robert O'Callahan 7326bb7d66
Only reuse ABC processes if we're using yosys-abc and it was built with ENABLE_READLINE
(cherry picked from commit 5054fd17d7b70f2df97360bb0f0cc1c92a6ffe72)
2026-02-04 17:19:10 +13:00
Emil J. Tywoniak 3bfeaee8ca opt_expr: fix const lhs of $pow to $shl 2026-02-03 11:59:00 +01:00
KrystalDelusion 414b1b6019
Merge pull request #5651 from rocallahan/abc-error-nonfatal
Handle ABC nonfatal "Error:" messages
2026-02-03 08:55:05 +13:00
Miodrag Milanović ac427a79b0
Merge pull request #5644 from nataliakokoromyti/upstream-linux-perf-unistd
Add unistd header for Linux
2026-01-30 08:17:43 +01:00
Robert O'Callahan 9c56c93632 Add missing newlines to some 'log_error's 2026-01-30 01:52:19 +00:00
Robert O'Callahan 6af1b5b19c Don't treat ABC 'Error:' output as indicating a fatal error, since these messages aren't necessarily fatal 2026-01-30 01:52:19 +00:00
Emil J a68fee1115
Merge pull request #5646 from rocallahan/debug-design_equal
Dump module details when `design_equal` fails
2026-01-29 18:57:24 +01:00
Robert O'Callahan 139c38ecfa Dump module details when design_equal fails 2026-01-28 18:32:12 +00:00
nella 8f6c4d40e4
Merge pull request #5623 from YosysHQ/nella/opt-dff-rewrite
opt_dff restructure.
2026-01-28 14:41:40 +01:00
Natalia 6a6e5f0f54 linux_perf: only include unistd on Linux 2026-01-28 03:44:33 -08:00