Ryszard Rozak
51266898ec
Fix comparison of string parameters ( #4308 )
2023-06-27 10:40:45 +02:00
Wilson Snyder
f9164ab0d2
Internals: Assert dtype comparison. No functional change intended.
2023-06-25 07:40:00 -04:00
Wilson Snyder
c43e707f43
Internals: refactor sameTreeIter. No functional change.
2023-06-25 07:26:45 -04:00
Ryszard Rozak
b517fb5ee3
Support some stream operations on queues ( #4292 )
2023-06-13 22:46:42 -04:00
Wilson Snyder
add68130b8
Internals: Rename to dumpLevel(), to avoid confusion with make-a-dump()
2023-05-03 18:04:10 -04:00
Kamil Rakoczy
65a484e00b
Internal: Update clang_check_annotations conditions ( #4134 )
2023-04-20 07:02:31 -04:00
Wilson Snyder
d60a3e2b66
Fix random internal crashes ( #666 ).
...
Internally, in V3Broken check m_interpp for null, and make several cleanups
in the addNext/addNextHere/unlinkFr* methods.
2023-03-18 09:48:26 -04:00
Kamil Rakoczy
798d7346cf
Internals: Add VL_MT_SAFE attribute to functions that requires locking. ( #3805 )
2023-03-17 20:24:15 -04:00
Wilson Snyder
d6c5d40f9b
Internals: Add VNVisitorConst class.
2023-03-17 19:59:09 -04:00
Kamil Rakoczy
bbf53bd5af
Add VL_MT_SAFE attribute to several functions. ( #3729 )
2023-03-16 19:48:56 -04:00
Wilson Snyder
8ae79066a2
Fix false ENUMVALUE on expressions and arrays.
2023-03-15 21:56:35 -04:00
Krzysztof Boroński
06661ab676
Disallow ++/-- over expressions with potential side effects ( #3976 ).
2023-02-28 15:21:58 -05:00
Wilson Snyder
5aa4f46101
Internals: Add some std::. No functional change intended.
2023-02-10 20:32:39 -05:00
Kamil Rakoczy
93d50c4499
Internals: Add mutex to V3Error ( #3680 )
2023-02-09 22:15:37 -05:00
Andrew Nolte
18e317fb78
Fix inconsistent naming of generate scope arrays ( #3840 )
2023-02-01 17:30:02 -05:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Larry Doolittle
f27cf4c804
Commentary: Fix spelling in C++ comments ( #3797 ) ( #3798 )
2022-12-02 18:46:38 -05:00
Wilson Snyder
2c7f1ef40f
Internals: Cleanup debug dumps so can grep-out leading-dashed lines
2022-11-27 08:31:22 -05:00
Wilson Snyder
833780fac1
Internal: cppcheck fixes. No functional change intended.
2022-11-27 05:52:40 -05:00
Wilson Snyder
66d85b3381
Internals: Fix cppcheck warnings. No functional change intended.
2022-11-21 21:40:49 -05:00
Wilson Snyder
f6f13c7fda
Internals: Comment out debug that may flag ASAN problem ( #3574 )
2022-10-18 21:17:52 -04:00
Kamil Rakoczy
b6c116d4bf
Internals: Add VL_MT_SAFE annotations to const functions ( #3681 )
2022-10-18 17:07:09 -04:00
Wilson Snyder
4367e03e46
Internals: Make VL_UNREACHABLE similar to std::unreachable()
2022-10-02 16:35:45 -04:00
github action
a204b24fcf
Apply 'make format'
2022-10-01 15:06:12 +00:00
Marcel Chang
526e6b9fc7
Add --dump-tree-dot to enable dumping Ast Tree .dot files ( #3636 )
2022-10-01 11:05:33 -04:00
Geza Lore
63c694f65f
Streamline dump control options
...
- Rename `--dump-treei` option to `--dumpi-tree`, which itself is now a
special case of `--dumpi-<tag>` where tag can be a magic word, or a
filename
- Control dumping via static `dump*()` functions, analogous to `debug()`
- Make dumping independent of the value of `debug()` (so dumping always
works even without the debug flag)
- Add separate `--dumpi-graph` for dumping V3Graphs, which is again a
special case of `--dumpi-<tag>`
- Alias `--dump-<tag>` to `--dumpi-<tag> 3` as before
2022-09-22 17:24:41 +01:00
Geza Lore
9949a6cd17
Generate AstGen::checkTreeiter to enforce Ast op*p use
...
Use astgen to generate a more thorough version of AstNode::checkTree,
which checks that operands are or consistent structure and type, as
described in the @astgen op directives. Also change checkTree to always
run when --debug-check is given.
Fix discovered fallout.
2022-09-21 18:12:11 +01:00
Kamil Rakoczy
0b07679ff2
v3errorEnd: look for instance only when warning is not ignored ( #3632 )
...
This approach reduced total time of V3Undriven stage from 34,2s to 2,5s
in design containing almost 400 000 unused variables.
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
2022-09-21 10:54:23 +01:00
Geza Lore
7d88e63bab
astgen: generate type specific addNext, remove astNextNull
...
Generate type specific static overloads of Ast<Node>::addNext, which
return the correct sub-type of the 'this' they were invoked on.
Also remove AstNode::addNextNull, which is now only used in the parser,
implement in verilog.y directly as a template function.
2022-09-17 15:05:22 +01:00
Geza Lore
38a8d7fb2e
Remove redundant 'inline' keywords from definitions
...
Also add checks to t/t_dist_cppstyle
2022-09-16 15:52:25 +01:00
Wilson Snyder
2dc85a5acd
Internals: enum constructor cleanups. No functional change intended.
2022-09-15 19:58:10 -04:00
Wilson Snyder
d85b909054
Internals: Use std:: for mem and str functions.
2022-09-14 21:10:19 -04:00
Krzysztof Bieganski
6b6790fc50
Preserve return type of `AstNode::addNext` via templating ( #3597 )
...
No functional change intended.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2022-09-05 16:56:57 +01:00
Wilson Snyder
ea55db7286
Internals: Cleanup some string constructors. No functional change.
2022-08-30 01:02:39 -04:00
Geza Lore
96a4b3e5a5
Update clang-format config and apply
...
- Regroup and sort #include directives (like we used to, but automatic)
- Set AlwaysBreakTemplateDeclarations to true
2022-08-05 12:00:24 +01:00
Geza Lore
bd211c87aa
astgen: split 'visit' method declarations from definitions
...
Add definitions to V3Ast.cpp, and use static_cast.
This fixes a lot of clang-tidy noise.
2022-08-02 17:53:19 +01:00
Geza Lore
1c5e5704f5
Fix iteration fixup in AstNode::addHereThisAsNext
...
Previous version broke verialor_ext_tests due to iteration order
mismatch after 3fc8249429
2022-07-20 13:08:51 +01:00
Geza Lore
178e1789b5
Make AstNode::addHereThisAsNext always O(1)
...
Using unlinkFrBackWithNext is O(n) in the size of the list if unlinking
from the middle, so addHereThisAsNext also had this complexity. This
patch implements addHereThisAsNext directly, which is always O(1).
2022-07-13 12:13:40 +01:00
Wilson Snyder
63507e8e29
Internals: Favor UASSERT_OBJ when have object.
2022-07-12 18:02:57 -04:00
HungMingWu
9583f152ee
Fix compile error when enable VL_LEAK_CHECKS ( #3411 ).
...
Signed-off-by: HungMingWu <u9089000@gmail.com>
2022-05-08 20:49:13 -04:00
Geza Lore
5f0e1fae7f
Simplify and clarify reporting of enclosing instance
...
Rename AstNodeModule::hierName -> someInstanceName and explain that this
is only used for user messages.
Rename AstNode::locationStr -> instanceStr and simplify implementation.
In particular, do not report an instance if we can't find a reasonable
guess.
2022-04-22 23:38:23 +01:00
Wilson Snyder
e02f97854c
Deprecate 'vluint64_t' and similar types ( #3255 ).
2022-03-27 15:27:40 -04:00
Geza Lore
539c9d4c63
Merge alternate 'force'/'release' implementation
...
- Add more tests, including for tracing.
- Apply some cleaner, more generic abstractions in the implementation.
- Use clearer AstRelease which is not an assignment.
2022-01-16 15:31:37 +00:00
Wilson Snyder
e931c6230a
Run EmitV test after all stages, and fix resulting fallout
2022-01-09 18:11:24 -05:00
Wilson Snyder
e6857df5c6
Internals: Rename Ast on non-node classes ( #3262 ). No functional change.
...
This commit has the following replacements applied:
s/\bAstUserInUseBase\b/VNUserInUseBase/g;
s/\bAstAttrType\b/VAttrType/g;
s/\bAstBasicDTypeKwd\b/VBasicDTypeKwd/g;
s/\bAstDisplayType\b/VDisplayType/g;
s/\bAstNDeleter\b/VNDeleter/g;
s/\bAstNRelinker\b/VNRelinker/g;
s/\bAstNVisitor\b/VNVisitor/g;
s/\bAstPragmaType\b/VPragmaType/g;
s/\bAstType\b/VNType/g;
s/\bAstUser1InUse\b/VNUser1InUse/g;
s/\bAstUser2InUse\b/VNUser2InUse/g;
s/\bAstUser3InUse\b/VNUser3InUse/g;
s/\bAstUser4InUse\b/VNUser4InUse/g;
s/\bAstUser5InUse\b/VNUser5InUse/g;
s/\bAstVarType\b/VVarType/g;
2022-01-02 14:03:20 -05:00
Wilson Snyder
b7ad1e6d61
Internals: Rename some non-nodes to avoid Ast prefix. No functional change.
2022-01-02 10:37:20 -05:00
Wilson Snyder
0c3ffa1841
Support force/release ( #2491 ) ( #2593 ).
2022-01-01 12:24:19 -05:00
Wilson Snyder
24a0d2a0c9
Internals: Favor member assignment initialization. No functional change intended.
2022-01-01 11:46:49 -05:00
Wilson Snyder
ca42be982c
Copyright year update.
2022-01-01 08:26:40 -05:00
Wilson Snyder
cd737065f2
Internals: More const. No functional change intended.
2021-11-26 17:55:36 -05:00