Commit Graph

4711 Commits

Author SHA1 Message Date
Akash Levy 439d859bba
Merge branch 'YosysHQ:main' into main 2025-04-03 10:48:42 -07:00
George Rennie 63b3ce0c77
Merge pull request #4971 from Anhijkt/pow-optimization
opt_expr: optimize pow of 2 cells
2025-04-03 14:34:36 +02:00
Anhijkt 6b5507139e opt_expr: requsted changes 2025-04-01 20:37:22 +03:00
Jannis Harder bc01468c75 read_liberty: Faster std::string construction in the liberty lexer
This extends the `LibertyInputStream` added in the previous commit to
allow arbitrary lookahead. Then this uses the lookahead to find the
total length of the token within the input buffer, instead of consuming
the token byte by byte while appending to a std::string. Constructing
the std::string with the total length is known avoids any reallocations
from growing std::string's buffer.
2025-04-01 14:12:12 +02:00
Jannis Harder 119e998f12 read_liberty: Faster input handling for the liberty lexer
The lexer for liberty files was using istream's `get` and `unget` which
are notorious for bad performance and that showed up during profiling.

This replaces the direct `istream` use with a custom LibertyInputStream
that does its own buffering to provide `get` and `unget` that behave the
same way but are implemented with a fast path that is easy to inline and
optimize.
2025-04-01 14:12:12 +02:00
Akash Levy d743a18ea3 Fix extract_reduce infinite loop 2025-03-31 12:36:43 -07:00
Akash Levy f488b0e74c Add lut2bmux, annotate_unqcoef, and seed tests 2025-03-31 05:55:54 -07:00
Akash Levy 3f00e57076 Improve the naming for opt_reduce 2025-03-31 01:22:42 -07:00
Akash Levy f72d27fae0 Robustness fixes 2025-03-30 22:23:21 -07:00
Akash Levy 984c6357ba Add -word mode to lut2mux and improve the naming 2025-03-30 17:54:35 -07:00
Akash Levy 161ff0fa3f Add muxmode pass and tests 2025-03-30 17:54:18 -07:00
Anhijkt 83b095ab6c opt_expr: optimize pow of 2 cells 2025-03-30 15:43:41 +03:00
Akash Levy dacd882383 Remove selectconst 2025-03-28 17:40:40 -07:00
Akash Levy 1a5415b5a2
Merge branch 'YosysHQ:main' into main 2025-03-28 14:56:36 -07:00
Emil J ec8b745929
Merge pull request #4733 from antmicro/fix-setundef-pass-for-params
Fix setting bits of parameters in setundef pass
2025-03-28 13:06:04 +01:00
Akash Levy 3d13f7aae2 Bump to latest 2025-03-26 14:56:10 -07:00
Emil J b9131853ff
Merge pull request #4954 from YosysHQ/krys/abstract_default_val
Fixes for abstract.cc
2025-03-26 10:40:37 +01:00
Emil J ea74ad33a5
Merge pull request #4961 from YosysHQ/emil/cutpoint-typo
cutpoint: fix typo
2025-03-25 21:30:29 +01:00
Emil J. Tywoniak 4991ed9d4b cutpoint: fix typo 2025-03-25 18:10:47 +01: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 cded9861dd Add muxpacking to extract_reduce 2025-03-21 02:54:39 -07:00
Akash Levy 9f93e9c6e8 Fix stat gzip support for JSON after merge 2025-03-20 17:36:50 -07: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
Emil J 9893ed59b7
Merge pull request #4951 from YosysHQ/emil/fix-dft_tag-autoNot
dft_tag: fix autoNot not notting
2025-03-20 21:16:34 +01:00
Krystine Sherwin d704ca8019
abstract: Fix indentation 2025-03-20 17:20:36 +13:00
Krystine Sherwin 452dd1b74b
abstract: Assign default to value
Fix `-Wmaybe-uninitialized` on line 43 and 44.
2025-03-20 17:19:22 +13:00
Akash Levy d1f0c38bac
Merge branch 'YosysHQ:main' into main 2025-03-19 19:32:42 -07:00
Emil J. Tywoniak 199702a392 dft_tag: fix autoNot not notting 2025-03-19 18:28:50 +01: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 980a0a15c1 stat: allow gzipped liberty files 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak 7aefd4b226 gzip: back to pointers 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak 0877798e18 dfflibmap: allow gzipped liberty files 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak d00259081d gzip: simplify uncompressed interface 2025-03-19 13:43:44 +01:00
Emil J. Tywoniak 218ec3fc05 dfflibmap: allow gzipped liberty files 2025-03-19 13:43:44 +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
Alain Dargelas e29c1839c4 Fix corner case with assign stmts for fanout buffering 2025-03-17 14:25:05 -07:00
Akash Levy d289e5ef1c
Merge branch 'YosysHQ:main' into main 2025-03-17 10:45:27 -07:00
Akash Levy d9af46538c opt_expand peepopt (still needs testing) 2025-03-17 04:12:06 -07:00
Akash Levy dc75774c5b Breakreduce pass (still needs testing) 2025-03-17 04:10:08 -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 11dd7becdd Add opt_balance_tree -arith_only 2025-03-17 02:30:18 -07:00
Akash Levy 4bf3338e1e Muxpack until not possible 2025-03-17 02:29:12 -07:00
Akash Levy ecd289b996 Small simplemap rename 2025-03-17 00:38:32 -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
Akash Levy 9593d94295 Reduce verbosity of splitcells debug 2025-03-14 18:08:41 -07:00
Akash Levy 1c0d4a43b3
Merge branch 'YosysHQ:main' into main 2025-03-14 18:07:55 -07:00
KrystalDelusion 9f1271bee0
Merge pull request #4922 from Anhijkt/fix-splitcells-assert
splitcells: Fix the assertion bug caused by out-of-bound offset
2025-03-14 16:52:38 +13:00
Alain Dargelas 6b6c5c2c19 Actually re-enable pass 2025-03-13 14:48:14 -07:00