Geza Lore
2ebed755e6
V3Simulate: Avoid copying while managing free list.
...
V3Simulate reuses allocated AstConst nodes for efficiency, however this
used to be implemented in a way that required a deep copy of a
std::unorderd_map<_, std::deque<_>>, which was quite inefficient when it
grew large. The free list is now managed without any copying. This takes
the V3Table pass from taking 12s to 0.2s on SweRV EH1.
2021-07-05 17:07:33 +01:00
Geza Lore
2a7aa28b20
V3Simulate/V3Table: change deques to vectors for performance
...
We can get away with only push_back and back on sequence containers, in
which case std::vector is significantly faster than std::deque.
2021-07-05 15:53:56 +01:00
Wilson Snyder
512fe0a2d1
Internals: Add const. No functional change.
2021-06-20 18:33:13 -04:00
Wilson Snyder
2143bcfad5
Fix constant function calls with uninit value ( #2995 ).
2021-05-31 22:46:41 -04:00
Wilson Snyder
29505ef013
Support arrayed parameter functions partial ( #2846 )
2021-03-19 18:44:26 -04:00
Wilson Snyder
3a55600913
Internals: Restyle with C++11 using replacing typedef
2021-03-12 18:10:45 -05:00
Wilson Snyder
be31fdcfe4
Use Google-style-guide header guard naming, to avoid __ prefix.
2021-03-03 21:57:07 -05:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
cd248f6bd7
Internals: Make consistent left/right/lo/hi accessors to ranges.
...
Change order of Range to store always left:right.
XML output changes to now show left:right (previously info was lost), no other change intended.
2020-12-06 21:13:56 -05:00
Wilson Snyder
f2d8e45d72
For performance, use unordered_set/map where possible. No functional change intended.
2020-11-25 20:57:30 -05:00
Wilson Snyder
b6ded59c2b
Internals: Use and enforce class final for ~5% performance boost.
2020-11-18 21:32:16 -05:00
Wilson Snyder
1b0a48ea02
Internals: Use C++11 = default where obvious. No functional change intended.
2020-11-16 19:56:16 -05:00
Wilson Snyder
2a24bb4759
Fix queue poping wrong value when otherwise unused ( #2512 ).
2020-11-07 10:37:55 -05:00
Wilson Snyder
cf7b5c091a
Internals: Track some VAccess that can be ReadOnly. No functional change.
2020-10-30 22:28:51 -04:00
Wilson Snyder
51b0963e61
Internals: Favor const for map keys. No functional change intended.
2020-10-30 18:00:40 -04:00
Wilson Snyder
1899a875a4
Internals: Create VAccess class. No functional change intended.
2020-09-07 17:09:25 -04:00
Wilson Snyder
45eccaecaf
Fix Travis/GCC warnings.
2020-08-27 18:48:26 -04:00
Wilson Snyder
78aee6f4e7
C++11: Use sized enums (+4% performance).
2020-08-16 12:05:35 -04:00
Wilson Snyder
ee9d6dd63f
C++11: Favor auto, range for. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
72d2cff0a1
C++11: Use member declaration initalizations. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
042d3eed23
C++11: Use override where possible. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
c0127599df
C++11: Use nullptr. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
7c54a451a9
C++11: Remove pre-c11 VL_OVERRIDE etc. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
6ce878cb0d
Fix some clang-tidy warnings
2020-06-01 23:16:17 -04:00
Wilson Snyder
6a882f9dc6
Internal code coverage improvements. No functional change intended.
2020-05-23 10:34:58 -04:00
Wilson Snyder
f005b7fd87
Support scan %* format
2020-05-11 22:13:59 -04:00
Yossi Nivin
f9a0cf0cff
Support $countbits ( #2287 )
2020-05-10 14:27:22 -04:00
Wilson Snyder
546ccd56c4
Internals: Enable future JumpGo to non-end. No functional change intended.
2020-05-06 21:33:05 -04:00
Wilson Snyder
f3308d236b
clang-format remaining sources. No functional change.
2020-04-15 07:58:34 -04:00
Wilson Snyder
50535a1894
Internals: cppcheck 1.90 fixes. No functional change intended.
2020-04-05 18:57:47 -04:00
Wilson Snyder
38a31ae168
Cleanup misc clang-tidy warnings. No functional change intended
2020-04-03 22:31:54 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
609a5dc26d
Fix cppcheck warnings. No functional change intended.
2020-02-03 23:21:56 -05:00
Yutetsu TAKATSUKASA
fbdf5f2dad
Internals: Mark all visit() with VL_OVERRIDE. Closes #2132 .
...
* Add VL_OVERRIDE macro so that compiler can tell my typo when trying to override a function.
* Mark visit() with VL_OVERRIDE. No functional change intended.
2020-01-21 17:35:56 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Wilson Snyder
28cbf39995
Support some unpacked arrays in parameters, bug1315.
2019-11-09 18:31:24 -05:00
Wilson Snyder
704f40b1a2
Internals: Prep work for simulation of array parameters, bug1315. No functional change intended.
2019-11-09 15:27:10 -05:00
Wilson Snyder
c5f859c9a3
Internals: Format cleanup. No functional change.
2019-11-09 15:27:10 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
67a0ad02d2
Fix bad-syntax crasses, bug1591.
2019-11-04 19:27:31 -05:00
Wilson Snyder
c0c038c887
Remove false unoptimizable warning under debug
2019-11-02 11:15:08 -04:00
Wilson Snyder
771a301f66
Commentary: Remove newlines, upsets some patches. No functional change.
2019-10-04 20:17:11 -04:00
Wilson Snyder
fa904f386c
Commentary - Spelling fixes
2019-09-09 07:50:21 -04:00
Todd Strader
b947391662
Retain widthSized when simulating
2019-08-12 15:38:58 -04:00
Wilson Snyder
562b9551bf
Internals: Remove some unused arguments. No functional change intended.
2019-08-09 04:12:49 -04:00
Todd Strader
b045111a67
Refactor SimulateVisitor to use AstConst
2019-07-23 13:58:17 -04:00
Todd Strader
654571bd1c
V3Number cleanup
2019-07-22 15:07:08 -04:00
Wilson Snyder
8548ecfdac
Internals: Add UASSERT_OBJ macro to replace hand-done ifs. No functional change intended.
...
This makes it easier to filter out correctly zero code-coverage lines.
2019-07-06 12:57:50 -04:00
Wilson Snyder
a58e7d94ec
Error continuation lines no longer have %Error prefix.
2019-05-30 20:30:59 -04:00
Wilson Snyder
b83b606267
Internals: Detab and fix spacing style issues. No functional change.
...
When diff, recommend using "git diff --ignore-all-space"
When merging, recommend using "git merge -Xignore-all-space"
2019-05-19 16:13:13 -04:00
Wilson Snyder
d841e68f4f
Fix parameter function string returns, bug1441.
2019-05-16 21:16:20 -04:00
Todd Strader
eac3458647
Internals: V3Number tracks node information, part of bug1305.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-09 20:03:19 -04:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
b8098098d8
Internals: Refactor input/output to new class in prep for ref support.
2018-10-27 17:29:00 -04:00
Wilson Snyder
d87b9d25ca
Internals: Cleanup and standardize include order. No functional change intended.
2018-10-14 13:59:40 -04:00
Wilson Snyder
442e4f35f0
Internals: Cleanup empty string constructors for clang-tidy. No functional change.
2018-10-13 23:06:36 -04:00
Wilson Snyder
1f5913a83c
Internals: V3Simulate refactoring prep for future work. No functional change.
2018-10-05 20:26:54 -04:00
Wilson Snyder
159c653b4b
Internals: V3Simulate refactoring prep for future work. No functional change.
2018-10-05 20:06:08 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
cd4e6b35b3
Internals: Standardize debug() function generation. No functional change intended.
2018-05-14 06:50:47 -04:00
Wilson Snyder
05db8ce6c8
Internals: Move iterators to AstNVisitor to avoid null this.
2018-05-10 20:55:37 -04:00
Wilson Snyder
2c30aecc5b
Merge from master
2018-03-10 16:51:34 -05:00
Wilson Snyder
770045676f
Internals: Split some extremely long lines. No functional change.
2018-03-10 16:32:04 -05:00
Wilson Snyder
597d28b505
Fix internals to make null-pointer-check clean. Also add more const's. No functional change intended, but likely something will break.
2018-02-01 21:32:58 -05:00
Wilson Snyder
94e8cf1de9
Internals: Use explicit std:: instead of using namespace std. No functional change intended.
2018-02-01 21:24:41 -05:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
Todd Strader
54bc8608e3
Add stack trace when can't optimize function, bug1158.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-05-09 18:54:15 -04:00
Wilson Snyder
d7a54b3632
Fix nested structure parameter selects, bug1150.
2017-03-30 19:05:55 -04:00
Wilson Snyder
b12dd526f9
Fix calling sformatf to display, and elab , bug1139.
2017-03-17 18:40:16 -04:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
77fe33e57f
Fix internal error on double-for loop unrolling, bug1044.
2016-11-29 20:40:58 -05:00
Wilson Snyder
2d0084308d
Internals: Convert AstNUser to non-pointer to avoid NULL call. No functional change intended.
2016-11-27 09:40:12 -05:00
Wilson Snyder
7efa40966a
Internals: Remove second argument to visitors. No functional change intended.
2016-11-27 08:11:38 -05:00
Wilson Snyder
e52f5f1b63
Internals: Remove extraneous castNode() calls. No functional change.
2016-11-05 10:06:43 -04:00
Wilson Snyder
b488666c1e
Fix cppcheck 1.71 issues. No functional change intended.
2016-02-04 18:30:21 -05:00
Johan Bjork
63f111b7f3
Fix unrolling complicated for-loop bounds, bug677.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-01-21 19:00:19 -05:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Johan Bjork
9edd28d2ed
Fix genvar constant propagation from package, bug1003.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-22 20:46:26 -05:00
Johan Bjork
4e4bc7b90f
Fix constant function assigned to packed structs, bug997.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-11-11 20:49:45 -05:00
Wilson Snyder
b0a249f338
Fix display %u, %v, %p, %z, bug989.
2015-11-10 21:12:15 -05:00
Wilson Snyder
4fde6ee7af
Support elaboration assertions, bug973.
2015-10-23 18:13:25 -04:00
Wilson Snyder
4fc9a906f6
Internals: Fix cppcheck warnings; add VL_DANGLING. No functional change.
2015-10-04 13:16:35 -04:00
Wilson Snyder
318ded4198
Internals: Cleanup cppcheck warnings.
2015-10-03 22:33:06 -04:00
Wilson Snyder
c60ffd7fd9
Fix enum constant propagation, bug970.
2015-10-01 21:15:01 -04:00
Todd Strader
3c336e179f
Fix structure parameter constant propagation, bug968.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-09-29 21:02:33 -04:00
Jie Xu
5a5a0006fe
Fix parameters with function parameter arguments, bug952.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-08-12 19:29:06 -04:00
Wilson Snyder
a59639413d
Fix part-select in constant function, bug916.
2015-05-09 14:01:54 -04:00
Wilson Snyder
8323092a0c
Fix cppcheck warnings. No functional change.
2015-02-09 21:05:27 -05:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
4422de0c6c
Copyright year update.
2014-01-06 19:28:57 -05:00
Wilson Snyder
a8310f35f2
Fix evaluation of chained parameter functions, bug684.
2013-10-18 07:06:32 -04:00
Wilson Snyder
c24f7b1391
Support named function and task arguments.
2013-08-17 20:34:49 -04:00
Wilson Snyder
e42c9dfd84
Grammar
2013-07-29 21:53:43 -04:00
Wilson Snyder
a8bbf7231b
Copyright year update.
2013-01-01 09:42:59 -05:00
Wilson Snyder
c6e7d87960
Commentary - Remove author lines as amany contributors now
2012-05-24 19:19:48 -04:00
Wilson Snyder
5fc98cce0d
Fix parameters not supported in constant functions, bug474.
2012-05-03 21:59:47 -04:00
Wilson Snyder
50edef4ab2
Add Emacs indentation line. No functional change
2012-04-12 21:08:20 -04:00
Wilson Snyder
d45d58b6bf
Fix real constant parameter functions, bug475.
2012-04-02 21:58:40 -04:00
Wilson Snyder
cc1adf9b38
Internals: merge V3Hashed cleanups. No functional change intended
2012-04-01 21:04:28 -04:00
Wilson Snyder
c2c7c7bd9a
Copyright year update
2012-01-15 10:26:28 -05:00