George Rennie
6331f92d00
Merge pull request #5101 from georgerennie/george/opt_expr_shift_ovfl
...
opt_expr: fix shift optimization with overflowing shift amount
2025-05-22 15:16:19 +01:00
George Rennie
98eec36921
kernel: add comments to as_int family of methods
2025-05-22 15:12:13 +01:00
mikesinouye
761dc6f62a
Allow reading of gzipped files when not in NDEBUG
2025-05-21 15:18:29 -07:00
William D. Jones
7d4d544001
Strip trailing slashes when checking for directories on Windows.
2025-05-15 18:36:43 -04:00
KrystalDelusion
4c72b0ecd8
Merge pull request #5116 from YosysHQ/krys/update_fst
...
Update fstlib
2025-05-16 09:22:52 +12:00
KrystalDelusion
3a5ce2df64
Merge pull request #5112 from YosysHQ/krys/on_shutdown
...
design.cc: Use on_shutdown method
2025-05-16 09:22:39 +12:00
George Rennie
748600c167
small whitespace cleanup ( #5119 )
2025-05-14 15:18:57 +02:00
Krystine Sherwin
afd5bbc7fa
fstdata.cc: Fix last step
...
Includes test file for sanity checking simulation steps.
2025-05-12 13:18:19 +12:00
Krystine Sherwin
d0b9a0cb98
sim.cc: Move cycle check
...
Calling `throw dst_end_of_data_exception()` when the desired number of cycles has been reached means that the fst reader can't tidy up after itself and leads to memory leaks.
This doesn't happen when the `-stop` flag is used because the `Yosys::FstData` struct tracks the end time and skips the outer callback if the simulation has gone past the desired end time.
Move cycle checking into the inner callback along with the time checking means that the outer callback no longer needs to throw an exception in order to stop checking further values, while still allowing the fst reader to finish reading and deallocate memory.
2025-05-12 12:48:01 +12:00
Krystine Sherwin
af75dce660
Fix Crashes with GCC 15 #5088
...
When building `WITH_PYTHON`, where a global list of modules is maintained, deleting a module also erases the entry in said global list. This can lead to memory corruption if the global list is destructed before the module.
Using `on_shutdown()` instead means the module destructor is explicitly called before the global list can be destructed, preventing the issue.
Also add a comment to `Pass::~Pass()` to suggest the same for future passes that might try to use that (and see this commit in the blame if they need a reason why).
2025-05-10 09:59:13 +12:00
Emil J. Tywoniak
2e9a194ce9
gzip: reject uncompressing directories
2025-05-09 22:33:30 +02:00
Emil J. Tywoniak
b05c0c70af
io: don't accept a directory when file expected
2025-05-09 22:33:30 +02:00
Emil J
5aa9bfbf7d
Merge pull request #5098 from mikesinouye/hashlib-1
...
Add <optional> to haslib.h which uses std::optional
2025-05-08 19:05:10 +02:00
Emil J
bfbbb8cf98
Merge pull request #5086 from YosysHQ/emil/driver-no-version
...
driver: add --no-version to suppress writing Yosys version
2025-05-08 16:28:25 +02:00
George Rennie
e2485000c7
kernel: handle unsigned case for as_int_saturating correctly
...
* This fixes #5105
2025-05-08 11:08:25 +02:00
George Rennie
7cbe6ed048
kernel: add safer variants of as_int
2025-05-07 14:39:17 +02:00
Emil J
6378ba10eb
Merge pull request #5078 from RonxBulld/main
...
Change the implementation of log_debug in kernel/log.h
2025-05-07 11:34:46 +02:00
Emil J. Tywoniak
90a2c92370
driver: allow --no-version still write things like Generated by Yosys
2025-05-07 11:34:23 +02:00
mikesinouye
93780bb869
Add <optional> to haslib.h which uses std::optional
2025-05-06 09:57:03 -07:00
Emil J. Tywoniak
d7affb8821
driver: add --no-version to suppress writing Yosys version in command outputs
2025-05-05 13:12:08 +02:00
Emil J
11f2348246
Merge pull request #5073 from YosysHQ/emil/fix-uncompressed-missing-file-error
...
gzip: refactor file open failure errors
2025-04-30 19:29:13 +02:00
RonxBulld
15cfce061a
Change the implementation of log_debug in kernel/log.h from a macro function to a normal function.
2025-04-29 22:43:10 +08:00
Emil J. Tywoniak
adb1986dc1
gzip: refactor file open failure errors
2025-04-29 10:37:35 +02:00
KrystalDelusion
bfe05965f9
Merge pull request #5066 from YosysHQ/george/opt_expr_shr_sign
...
opt_expr: fix sign extension for shifts
2025-04-29 09:29:10 +12:00
George Rennie
4fbb2bc1f3
celledges: use capped shift width
2025-04-26 18:34:21 +02:00
Emil J. Tywoniak
3541db8bbb
driver: fix -X xtrace backtrace level
2025-04-25 00:51:10 +02:00
KrystalDelusion
1f32f980cd
Merge pull request #5025 from povik/fix-macc_v2-satgen
...
satgen: Fix $macc_v2 x-prop
2025-04-22 08:55:28 +12:00
Martin Povišer
f8e67c7a08
satgen: Fix $macc_v2 x-prop
2025-04-15 10:31:42 +02:00
Martin Povišer
38beae1e06
Merge pull request #4946 from povik/cost-cc-enhance
...
cost: Add `$mem_v2`, `$macc_v2` estimates
2025-04-14 11:08:59 +02:00
Krystine Sherwin
ca57df8927
cutpoint: Add $scopeinfo cell
...
Also adds "blackbox" as a valid TYPE.
2025-04-11 04:12:34 +12:00
Krystine Sherwin
f042c36898
rtlil.h: Extra comment on helper enums
...
i.e. making explicit the ones that aren't intended for direct use.
2025-04-08 11:59:42 +12:00
Krystine Sherwin
1ef9908a85
rtlil.cc: Fix box checks in selected_modules
2025-04-08 11:59:36 +12:00
Krystine Sherwin
7d7ee5d9bf
rtlil.h: Fix selection ctor ordering
2025-04-08 11:59:32 +12: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
Miodrag Milanović
d49364d96f
Revert "Refactor full_selection"
2025-04-07 12:11:55 +02:00
KrystalDelusion
98d4355b82
Merge pull request #4768 from YosysHQ/krys/refactor_selections
...
Refactor full_selection
2025-04-05 14:15:27 +13:00
Krystine Sherwin
d8a9ad6860
Add Selection::clear() method
...
Use method in `select.cc` to reduce code duplication.
2025-04-05 10:56:01 +13:00
Krystine Sherwin
dab67f84da
rtlil.h: Document selections
2025-04-05 10:46:09 +13: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
Emil J. Tywoniak
7aefd4b226
gzip: back to pointers
2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
a8a5463f57
gzip: uphold rules for basic_streambuf::underflow overrides
2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
79985a2bca
gzip: minor refactor
2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
ceb7a923da
io: smooth out non-POSIX function usage across platforms
2025-03-19 13:43:44 +01:00
Emil J. Tywoniak
ab2ca831c9
io: remove unused unistd.h to fix windows build
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
813f909460
gzip: istream
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
Martin Povišer
251285be4c
cost: Add $mem_v2
, $macc_v2
estimates
2025-03-18 13:51:09 +01:00
Martin Povišer
91cd382f8b
macc: Rename 'ports' to 'terms' throughout codebase
2025-03-18 13:25:10 +01:00
KrystalDelusion
9fa1f0e70c
Merge pull request #4567 from kivikakk/cxxrtl-escape-trailing
...
cxxrtl: use octal encoding of non-printables.
2025-03-14 16:52:07 +13:00