Geza Lore
d04647f459
Fix library method argument references ( #8252 )
...
Each VCMethod now carries a signature describing the access required of
the references passed as arguments to the call. 'r' if the argument is
read, 'w' if it is fully assigned so the old value does not matter, 'm'
if it is modified (or only conditionally assigned), with a trailing '+'
repeating the preceding entry for all remaining arguments. Signatures
are validated at compile time, and V3Broken checks the arguments of
every AstCMethodHard against them.
The incorrect references this found and that are easy to fix are
repaired in this patch. "TODO" marks method that are currently broken or
not yet fit the scheme, these will be fixed in follow up patches.
Also renames SCHED_COMMIT and SCHED_ENQUEUE to NBA_COMMIT and
NBA_ENQUEUE, and remove unused methods.
2026-09-05 19:48:07 +01:00
Matthew Ballance
338c6c2885
Fix covergroup-internal references multi-threaded ordering ( #7779 ) ( #8255 )
2026-09-05 14:08:03 -04:00
Aditya Shevade
a6e21e0eb7
Fix phased solve...before diversity ( #8189 ) ( #8194 )
2026-09-05 14:06:57 -04:00
Geza Lore
f2fe2b6f2e
Optimize Dfg synthesis of simple continuous assignments ( #8286 )
2026-09-05 13:07:53 -04:00
Geza Lore
bcf613c4fe
Optimize redundant memoization in DFG CSE ( #8285 )
2026-09-05 12:13:11 -04:00
Geza Lore
b907a1a75d
Optimize DFG vertex iteration callbacks ( #8284 )
2026-09-05 12:12:46 -04:00
Geza Lore
87108ff943
Optimize redundant vertex cache lookups in DFG peephole ( #8283 )
2026-09-05 11:13:30 -04:00
Geza Lore
fa59f8f302
Optimize DFG synthesis symbol table ordering ( #8282 )
2026-09-05 11:13:09 -04:00
Wilson Snyder
35c1a244a8
Internals: Introduce Ast{class}::Super and cleanup. No functional change intended (but possible if was wrong base used earlier)
2026-09-05 10:45:39 -04:00
Wilson Snyder
3493e409b8
Internals: Sort Ast{class} functions in src/V3AstNodes.cpp, and enforce. No functional change.
2026-09-05 10:38:18 -04:00
Wilson Snyder
4f557a4b0c
Internals: Reorganize non-Ast{class} functions in src/V3AstNodes.cpp. No functional change.
2026-09-05 10:32:27 -04:00
Wilson Snyder
13c60bfede
Commentary: Changes update
2026-09-05 10:10:10 -04:00
Wilson Snyder
d6441c9cd3
Change JSON dumps to suppress empty strings, etc
2026-09-05 10:09:25 -04:00
Wilson Snyder
32695cf8be
Tests: Enforce Ast*::dump/dumpJson member dumps
2026-09-05 10:06:14 -04:00
Wilson Snyder
5ab54f3c01
Commentary. (Restore CONTRIBUTORS from earlier rev)
2026-09-05 10:05:47 -04:00
Wilson Snyder
c1c19494c4
Revert 81fafe237e: Fix CMake to call Verilator perl wrapper ( #8269 revert) ( #8270 revert)
2026-09-05 09:59:16 -04:00
Wilson Snyder
e7b30e214e
Internals: Add missing classes to dumps(), enforce with new test. No simulation change. ( #8293 )
2026-09-05 09:50:13 -04:00
Drew Risinger
81fafe237e
Fix CMake to call Verilator perl wrapper ( #8269 ) ( #8270 )
2026-09-05 09:47:15 -04:00
Wilson Snyder
80de081af0
devel release
2026-09-05 08:45:33 -04:00
Wilson Snyder
ea338be98e
Version bump
v5.052
2026-09-05 08:28:17 -04:00
Wilson Snyder
c8a8f02c09
Commentary: Changes update
2026-09-05 08:27:32 -04:00
Nick Brereton
b1c06fdb09
Fix use-after-free of captured interface typedef in deleted generate branch ( #8287 )
2026-09-04 14:27:11 -04:00
Andrii
18095ac924
Fix incorrect reference to sync/async in SYNCASYNCNET warning ( #8281 )
...
Signed-off-by: Andrii Andrieiev <[email protected] >
2026-09-04 11:01:10 -04:00
Aditya Shevade
efc390a37d
Fix std::randomize() with-clause array index arguments ( #8279 ) ( #8280 )
2026-09-04 11:00:10 -04:00
Aditya Shevade
228635918e
Fix mis-randomizing an unpacked struct member when not rand/randc ( #8277 ) ( #8278 )
2026-09-03 20:08:44 -04:00
Wilson Snyder
c917f04c65
Internals: Fix many but not all missing member dumps. No functional change.
2026-09-02 22:27:19 -04:00
Wilson Snyder
c4a4f35ec4
Commentary: Changes update
2026-09-02 22:15:13 -04:00
Wilson Snyder
e012f7c79d
Fix segmentation fault on context destruction ( #8265 ).
...
Fixes #8265 .
2026-09-02 08:00:32 -04:00
Wilson Snyder
80907b1e26
Internals: Fix many but not all missing bool member dumps. No functional change.
2026-09-01 22:20:20 -04:00
Wilson Snyder
a5f4f7eade
Internals: Fix covergroupRefMember overload ( #8259 ).
...
Fixes #8259 .
2026-09-01 21:31:19 -04:00
Wilson Snyder
c7aa95439c
Internals: Cleanup some member name vs accessor name mismatches. No functional change.
2026-09-01 20:10:04 -04:00
Wilson Snyder
a3932e259b
Internals: Cleanup duplicate superRef. No functional change.
2026-09-01 20:01:20 -04:00
Wilson Snyder
e6cee9d54c
Tests: Check for binary files
2026-09-01 18:30:29 -04:00
Wilson Snyder
f694e9e1e8
Revert NFA assertion outcomes ( #7946 revert) ( #8258 )
2026-09-01 11:15:05 -04:00
Wilson Snyder
667f64813f
Commentary: Changes update
2026-09-01 08:46:25 -04:00
Wilson Snyder
67818a3430
Internals: Fix unknown node message in V3Simulate. No simulation change intended.
2026-09-01 08:43:43 -04:00
Wilson Snyder
1c2fa7234d
Fix removing extra width warnings after another error
2026-08-31 18:04:58 -04:00
Szymon Gizler
be83d1393d
Fix continuing on wait(0) ( #7372 ) ( #8231 )
2026-08-31 13:06:23 -04:00
Matthew Ballance
9474a01d54
Add definitions for odr-used constexpr, as required by C++14 ( #8256 )
2026-08-31 10:38:18 -04:00
Yilou Wang
c81be029a6
Fix NFA assertion scheduling to fix outcome counts ( #7946 )
2026-08-29 15:53:08 -04:00
Wilson Snyder
3c121c0a2e
Fix initial statements with gate optimizaion ( #8250 ) ( #8253 )
2026-08-29 14:29:03 -04:00
Wilson Snyder
0f96460042
Commentary: Changes update
2026-08-29 11:46:16 -04:00
Wilson Snyder
648035df72
Tests: Cleanup some time formats
2026-08-29 11:13:47 -04:00
Geza Lore
dcf45da1c0
Fix excessive SIMILARNAME warnings ( #8233 )
2026-08-28 15:55:41 -04:00
Kamil Danecki
d2920a627d
Support solve before with associative array ( #8232 )
2026-08-28 15:19:08 -04:00
Paul Rigge
2954756190
Fix VL_MULS_* UB on signed int overflow ( #8247 ) ( #8248 )
2026-08-28 14:53:22 -04:00
Geza Lore
c70439961f
Optimize associative constant patterns to fixed point ( #8147 ) ( #8209 )
...
Re-associating constants can enable further simplification e.g. when
those constant become all zero/all ones. Run these patterns to fixed
point to capture the simplification, by revisiting the node.
2026-08-28 20:46:33 +02:00
Geza Lore
ab20edbbaf
Internals: Use single source of truth VCMethod enumeration ( #8249 )
2026-08-28 14:32:08 -04:00
Geza Lore
297713df8b
Fix folding of short circuiting operators guarding member access ( #8238 )
...
V3Const eagerly deletes nodes (we want that in V3Const instead of using
pushDeletep, as otherwise the transient peak memory use during
verilation can be very high)
The std::map used to cache the predicate checking if a subtree contains
a member access then stale if a new node is allocated in the same address.
Fix by using unique node IDs stored in user4 as cache keys.
This is the bug uncovered by #8147
Related to #6963
2026-08-28 20:16:03 +02:00
Geza Lore
6a05cc680b
CI: Update RTLMeter case lists - also for PRs
2026-08-28 17:40:46 +02:00