Akash Levy
e241c9d513
Merge branch 'YosysHQ:main' into main
2025-04-10 14:28:10 -07:00
Krystine Sherwin
cd3b914132
Reinstate #4768
...
Revert the reversion so that we can fix the bugs that the PR missed.
2025-04-08 11:58:05 +12:00
Akash Levy
c0a6985adb
Merge branch 'YosysHQ:main' into main
2025-04-07 14:48:16 -07:00
Akash Levy
de375d6542
Accommodate reversion and fix wreduce naming
2025-04-07 07:35:39 -07:00
Akash Levy
06c614a010
Merge branch 'YosysHQ:main' into main
2025-04-07 07:28:06 -07:00
Miodrag Milanović
d49364d96f
Revert "Refactor full_selection"
2025-04-07 12:11:55 +02:00
Akash Levy
0dab4308a3
Actual merge here
2025-04-06 18:53:43 -07:00
KrystalDelusion
98d4355b82
Merge pull request #4768 from YosysHQ/krys/refactor_selections
...
Refactor full_selection
2025-04-05 14:15:27 +13:00
Akash Levy
276800c39b
wreduce shifter signedness fix
2025-04-04 14:27:38 -07:00
Krystine Sherwin
406b400458
opt_expr: Fix #4590
...
If all the (non-select) inputs of a `$_MUX{4,8,16}_` are undefined, replace it, just like we do for `$mux` and `$_MUX_`.
Add `tests/opt/opt_expr_mux_undef.ys` to verify this.
This doesn't do any const folding on the wide muxes, or shrinking to less wide muxes. It only handles the case where all inputs are 'x and the mux can be completely removed.
2025-04-04 12:25:31 +13:00
Akash Levy
439d859bba
Merge branch 'YosysHQ:main' into main
2025-04-03 10:48:42 -07:00
Anhijkt
6b5507139e
opt_expr: requsted changes
2025-04-01 20:37:22 +03:00
Akash Levy
3f00e57076
Improve the naming for opt_reduce
2025-03-31 01:22:42 -07:00
Anhijkt
83b095ab6c
opt_expr: optimize pow of 2 cells
2025-03-30 15:43:41 +03:00
Akash Levy
3d13f7aae2
Bump to latest
2025-03-26 14:56:10 -07:00
KrystalDelusion
a647731812
Merge pull request #4677 from YosysHQ/emil/opt_merge-hashing
...
opt_merge: hashing performance and correctness
2025-03-25 10:36:02 +13:00
Akash Levy
95f489beec
Merge nice gzip refactor
2025-03-20 16:47:12 -07:00
KrystalDelusion
b06a661913
Merge pull request #4834 from YosysHQ/emil/gzip-refactor
...
Memory-efficient zlib usage across Liberty file consumers
2025-03-21 10:01:00 +13:00
Akash Levy
d1f0c38bac
Merge branch 'YosysHQ:main' into main
2025-03-19 19:32:42 -07:00
Emil J
b33787edcb
Merge pull request #4948 from YosysHQ/emil/share-fix-log-again
...
share: re-add SAT solver cell count to log message
2025-03-19 13:54:17 +01:00
Emil J. Tywoniak
4f3fdc8457
io: refactor string and file work into new unit
2025-03-19 13:43:42 +01:00
Emil J. Tywoniak
061cf5c6c4
share: re-add SAT solver cell count to log message
2025-03-19 10:27:23 +01:00
Akash Levy
d289e5ef1c
Merge branch 'YosysHQ:main' into main
2025-03-17 10:45:27 -07:00
Akash Levy
a08ab5a67b
Add opt_expr's missing mux_ornot and mux_andnot cases (still needs testing)
2025-03-17 04:09:28 -07:00
Akash Levy
4bf3338e1e
Muxpack until not possible
2025-03-17 02:29:12 -07:00
Emil J
05cd1e2942
Merge pull request #4904 from YosysHQ/emil/share-limit-effort
...
share: add -pattern-limit to limit analysis effort
2025-03-15 18:00:42 +01:00
Krystine Sherwin
a3968d43f0
Drop deprecation on Design::selected_modules()
...
Instead, change the default `Design::selected_modules()` to match the behaviour (i.e. `selected_unboxed_modules_warn()`) because it's a lot of files to touch and they don't really _need_ to be updated.
Also change `Design::selected_whole_modules()` users over to `Design::selected_unboxed_whole_modules()`, except `attrmap` because I'm not convinced it should be ignoring boxes. So instead, leave the deprecation warning for that one use and come back to the pass another time.
2025-03-14 14:08:56 +13:00
Alain Dargelas
6b6c5c2c19
Actually re-enable pass
2025-03-13 14:48:14 -07:00
Alain Dargelas
68312d046a
Fix Yosys test failures
2025-03-13 14:15:13 -07:00
Akash Levy
0a68eb32b3
Disable sub-neg peepopt
2025-03-13 01:55:14 -07:00
Emil J. Tywoniak
6c9857403c
share: use share.pattern_limit from scratchpad
2025-03-11 14:57:00 +01:00
Akash Levy
4d4e574ebb
Merge pull request #60 from alaindargelas/peepopt_neg_sub
...
neg-sub peepopt pass
2025-03-10 15:48:49 -07:00
Alain Dargelas
e1671b45b6
Code review
2025-03-10 14:44:14 -07:00
Akash Levy
3da52326dd
Undo muxpack change that causes test failures
2025-03-10 13:50:54 -07:00
Alain Dargelas
6de80bc6b3
neg sub pass
2025-03-10 13:47:06 -07:00
Emil J. Tywoniak
ca9176cd0f
share: bail better on too many patterns
2025-03-10 17:55:04 +01:00
Martin Povišer
d8a4991289
Merge pull request #4931 from povik/buf-clean
...
opt_clean, simplemap: Add `$buf` handling
2025-03-10 15:10:17 +01:00
Emil J. Tywoniak
1d773b50a4
opt_merge: fix dangling pointers in known_cells when keep attribute is used
2025-03-10 13:14:06 +01:00
Emil J. Tywoniak
176faae7c9
opt_merge: fix trivial binary regression
2025-03-10 13:14:06 +01:00
Emil J. Tywoniak
8903740147
opt_merge: switch to unordered_set
2025-03-10 13:14:06 +01:00
Emil J. Tywoniak
ffc057a89c
opt_merge: fix the many collisions case
2025-03-10 13:14:06 +01:00
Emil J. Tywoniak
cbb776c626
opt_merge: avoid hashing strings
2025-03-10 13:14:06 +01:00
Akash Levy
706872237f
Only muxpack to pmux for size 3 or bigger (size 2 is just a mux)
2025-03-09 22:08:00 -07:00
Akash Levy
86d67b47a4
Merge branch 'YosysHQ:main' into main
2025-03-08 15:11:04 -08:00
Emil J
8bb24badf2
Merge pull request #4895 from YosysHQ/emil/fix-share-portbit-infinite-loop
...
share: fix infinite loop in find_terminal_bits on $mux loop
2025-03-08 13:14:11 +01:00
Martin Povišer
557047fe1e
opt_clean, simplemap: Add $buf handling
2025-03-07 16:08:38 +01:00
Akash Levy
fa97c4830e
Generalize muxadd to muxorder
2025-03-06 16:57:47 -08:00
Akash Levy
881080a827
Merge upstream
2025-03-05 07:54:26 -08:00
Akash Levy
fce2f2676d
Rename minor things in opt_share
2025-03-05 06:17:41 -08:00
Akash Levy
7c1cb53c85
Packed muxes have src attr for each constituent mux
2025-03-05 06:09:40 -08:00