Emil J. Tywoniak
a915143768
ice40: fix IdString memory leak
2025-11-13 14:10:52 +01:00
Emil J. Tywoniak
c48bc56f4a
driver: fix timing data divison by zero when no passes run
2025-11-13 14:10:52 +01:00
Emil J. Tywoniak
1dd5b150e5
driver: garbage collect IdStrings without tracing at exit
2025-11-13 14:10:52 +01:00
Emil J. Tywoniak
bc3fc21248
microchip: fix IdString memory leak
2025-11-13 14:10:52 +01:00
Emil J. Tywoniak
8c76f93fce
rtlil: make tracing optional in IdString garbage collection
2025-11-12 20:22:30 +01:00
Emil J. Tywoniak
1ee4fc9d27
fix YOSYS_XTRACE_GET_PUT
2025-11-12 20:20:51 +01:00
Emil J. Tywoniak
50bfb5c5c9
constids: add $input_port and $connect
2025-11-12 20:19:42 +01:00
Emil J
d93039a194
Merge pull request #5417 from rocallahan/idstring-gc
...
Implement garbage collection of `IdString`s
2025-11-12 13:43:53 +01:00
Emil J. Tywoniak
ae281720cf
tests: remove unstable FPGA synthesis result checks
2025-11-12 11:52:04 +01:00
Robert O'Callahan
578d658871
Add timing stats for IdString garbage collection
2025-11-12 11:52:04 +01:00
Robert O'Callahan
8c2984dc5f
Fix AbcModuleState::remap_name() to avoid calling IdString::c_str()
2025-11-12 11:52:04 +01:00
Robert O'Callahan
c4c389fdd7
Fix verilog backend to avoid IdString::c_str()
2025-11-12 11:52:04 +01:00
Robert O'Callahan
325b27f43a
Avoid calling IdString::c_str() in opt_clean
2025-11-12 11:52:04 +01:00
Robert O'Callahan
df8444c5e7
Optimize IdString operations to avoid calling c_str()
2025-11-12 11:52:04 +01:00
Robert O'Callahan
e95ed7bbab
Make NEW_ID create IDs whose string allocation is delayed
2025-11-12 11:52:04 +01:00
Robert O'Callahan
8895757364
Ensure that new_id(_suffix)() cannot create collisions with existing IdStrings.
2025-11-12 11:52:04 +01:00
Robert O'Callahan
9577a028c8
Make new_id/new_id_suffix taking string_view to avoid allocating strings
2025-11-12 11:52:04 +01:00
Robert O'Callahan
b3f3f42577
Remove StaticIdString and just use IdString now that we can make it constexpr
2025-11-12 11:52:04 +01:00
Robert O'Callahan
b0e2d75dbe
Make IdString refcounts a hashtable containing only the nonzero refcounts
...
This saves space and doesn't cost very much since we hardly ever have nonzero refcounts any more.
It also allows for IdStrings with negative indexes, which we're going to add.
2025-11-12 11:52:04 +01:00
Robert O'Callahan
54bde15329
Implement IdString garbage collection instead of refcounting.
2025-11-12 11:52:04 +01:00
Robert O'Callahan
5133b4bdea
Create RTLIL::OwningIdString and use it in a few places
2025-11-12 11:52:04 +01:00
Robert O'Callahan
d28f97e9da
Remove YOSYS_USE_STICKY_IDS
2025-11-12 11:52:04 +01:00
Robert O'Callahan
0fe79ce01b
Make RTLIL::Design::get_all_designs() unconditionally defined
2025-11-12 11:52:04 +01:00
Robert O'Callahan
e84bc3c6c5
Remove explicit empty-string check when looking up IdStrings
2025-11-12 11:52:04 +01:00
Robert O'Callahan
20639906e3
Store IdString lengths and use them
2025-11-12 11:52:04 +01:00
Robert O'Callahan
32641bbf93
Make IdString::contains take std::string_view so we avoid a strlen when the parameter is a string constant
2025-11-12 11:52:04 +01:00
Robert O'Callahan
2319d82efb
Make IdString::begins_width/ends_with take std::string_view so we avoid a strlen when the parameter is a string constant
2025-11-12 11:52:04 +01:00
github-actions[bot]
5f76729cbb
Bump version
2025-11-12 00:24:49 +00:00
KrystalDelusion
529886f7fb
Merge pull request #5473 from YosysHQ/krys/unsized_params
...
Handle unsized params
2025-11-12 07:14:44 +13:00
Miodrag Milanović
26b51148a8
Merge pull request #5480 from YosysHQ/emil/libparse-fix-quoted
...
libparse: fix parsing and memory safety of quoted values
2025-11-11 15:18:35 +01:00
Emil J. Tywoniak
967e91aa73
libparse: fix parsing and memory safety of quoted values
2025-11-11 13:44:50 +01:00
Miodrag Milanović
596ad37410
Merge pull request #5479 from donn/pyosys_hotfix
...
hotfix: workaround for pyosys build failure
2025-11-11 13:00:09 +01:00
Mohamed Gaber
e29328ec99
hotfix: workaround for pyosys build failure
...
temporarily exclude `SigSpec::chunks` from the interface until nested structs/classes are supported
2025-11-11 13:48:35 +02:00
Miodrag Milanovic
fd40418c10
Next dev cycle
2025-11-11 09:26:05 +01:00
Miodrag Milanovic
03eb2206d7
Release version 0.59
2025-11-11 07:57:22 +01:00
github-actions[bot]
f7881ced9e
Bump version
2025-11-11 00:25:20 +00:00
Emil J
365c6753c4
Merge pull request #5453 from rocallahan/sigspec-onechunk
...
Make `SigSpec` const methods multithreading-compatible
2025-11-10 17:48:42 +01:00
Emil J
6a22397c02
Merge pull request #5477 from bhagwat-rahul/fix-non-wildcard-package-imports
...
Add support for specific package imports
2025-11-10 17:48:27 +01:00
Emil J. Tywoniak
8f53d21ea7
simplify: refactor specific package import
2025-11-10 14:26:10 +01:00
Emil J. Tywoniak
4dac5cd1f8
rtlil: note SigSpec only has one chunk in internal docs
2025-11-10 12:08:35 +01:00
Emil J. Tywoniak
ee5b8a97b9
rtlil: avoid clang warning
2025-11-10 12:02:36 +01:00
Emil J. Tywoniak
0452955069
rtlil: add explanatory note to SigSpec::Chunks
2025-11-10 12:02:21 +01:00
Rahul Bhagwat
54e5eb1c3c
no use vector
2025-11-08 23:16:52 +05:30
Rahul Bhagwat
224109151d
add specific package imports and tests
2025-11-08 23:05:10 +05:30
Robert O'Callahan
1cf3497d15
Repack SigSpecs when possible
2025-11-07 15:54:56 +00:00
Robert O'Callahan
38d1d071a5
Implement SigSpec::updhash() using a relaxed atomic for thread-safety
2025-11-07 15:54:56 +00:00
Robert O'Callahan
745222fa3b
Make SigSpec::unpack() non-const
2025-11-07 15:54:56 +00:00
Robert O'Callahan
870ae18a2d
Switch the SigSpec packed representation to allow just a single chunk that's inline in the SigSpec.
...
Single-chunk SigSpecs are very common and this avoids a heap allocation. It also simplifies
some algorithms.
2025-11-07 15:54:56 +00:00
Robert O'Callahan
e1169d03fe
Use chunks iterator for SigSpec::extract()
2025-11-07 15:54:56 +00:00
Robert O'Callahan
4939484840
Don't reset the hash when unpacking, instead clear the hash whenever bits are modified
2025-11-07 15:54:56 +00:00