Commit Graph

209 Commits

Author SHA1 Message Date
Wilson Snyder
1ce360ed5b Add SPDX license identifiers. No functional change. 2020-03-21 11:24:24 -04:00
Wilson Snyder
9392eac6a7 devel release 2020-03-08 08:40:33 -04:00
Wilson Snyder
95c4b6aaba Version bump 2020-03-08 08:38:53 -04:00
Wilson Snyder
95b66feeb8 devel release 2020-02-08 09:16:35 -05:00
Wilson Snyder
890cecc15b Version bump 2020-02-08 09:03:51 -05:00
Geza Lore
f00ff61559 Link Verilator binary partially statically, Closes #2146.
The build is now by default configured to link performance critical
libraries (libgcc, libstdc++, libtcmalloc) statically. This improves
Verilation speed by between 4.5-7% based on my measurements as it
eliminates approx 20% of the mispredicted branches from the execution.
With partial static linking, the size of the .text section in
verilator_bin is increased by about 14%, and the binary is itself only
about 800KB bigger on disk, so hopefully this is not a big issue in
exchange for the faster compilation speed. A configure option
"--disable-partial-static" is provided to restore the old behaviour of
linking everything dynamically.

Note: This patch also changes to use libtcmalloc_minimal, which is all
we really need and itself has fewer dependencies.
2020-01-31 19:13:55 -05:00
Wilson Snyder
9a6bc3ddcf Commentary 2020-01-30 19:52:58 -05:00
Geza Lore
7ab2bdb6bb Support libgoogle-perftools-dev's libtcmalloc if available. #2137.
As Verilator continuously allocates and releases small objects (e.g.:
AstNode, V3GraphVertex, V3GraphEdge), it spends a significant amount of
time in malloc/free and friends. This patch adds the --enable-tcmalloc
configure option to link Verilator against the high performance malloc
implementation library libtcmalloc. The default is to use libtcmalloc if
available on the system. Note that there are no source code change, we
are simply replacing the standard library memory allocation functions.

Measured major compilation speed improvement of 27% when running
Verilator with -O3 on a large design.
2020-01-23 17:32:19 -05:00
Wilson Snyder
fe9cf9bd42 devel release 2020-01-11 09:08:33 -05:00
Wilson Snyder
0c99bee4b1 Version bump 2020-01-11 06:54:36 -05:00
Wilson Snyder
f23fe8fd84 Update copyright year. 2020-01-06 18:05:53 -05:00
Wilson Snyder
3be0eea995 devel release 2019-12-08 13:50:14 -05:00
Wilson Snyder
44ce83cd8e Version bump 2019-12-08 07:58:47 -05:00
Wilson Snyder
6ce81698e7 devel release 2019-11-10 14:25:54 -05:00
Wilson Snyder
30be381aa8 Version bump 2019-11-10 14:13:46 -05:00
Wilson Snyder
5811ec07e6 Update URLs to https://verilator.org 2019-11-07 22:33:59 -05:00
Wilson Snyder
31a6a968cc Speedup compiler flags for Ubuntu 19.10. 2019-10-17 20:43:45 -04:00
Patrick Stewart
1e4f471049 Add cmake support, bug1363.
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-17 19:44:10 -04:00
Wilson Snyder
763b9909f1 devel release 2019-10-06 10:04:45 -04:00
Wilson Snyder
dfcd412e5f Version bump 2019-10-06 09:40:36 -04:00
Wilson Snyder
4c0f95af10 devel release 2019-08-29 19:12:47 -04:00
Wilson Snyder
35fe205fd6 Version bump 2019-08-29 18:58:38 -04:00
Todd Strader
a3fd105acb Add more Travis coverage 2019-07-18 05:31:02 -04:00
Gianfranco Costamagna
07ae7146e3 Honour system flags, this makes debug flags being injected correctly.
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-07-06 13:02:36 -04:00
Wilson Snyder
89c2a6070a devel release 2019-06-16 10:01:09 -04:00
Wilson Snyder
c53ea10c75 Version bump 2019-06-16 09:30:56 -04:00
Wilson Snyder
b6c905dffc Move files into docs directory. 2019-06-13 07:19:44 -04:00
Wilson Snyder
00efa05b50 devel release 2019-05-08 21:39:23 -04:00
Wilson Snyder
cc1d380864 Version bump 2019-05-08 21:15:56 -04:00
Wilson Snyder
32c1e38b84 devel release 2019-03-23 21:14:30 -04:00
Wilson Snyder
a7aa8820e1 Version bump 2019-03-23 21:00:07 -04:00
Wilson Snyder
426ed8589b devel release 2019-01-28 07:30:42 -05:00
Wilson Snyder
44e53129a0 Version bump 2019-01-27 21:31:05 -05:00
Wilson Snyder
8a4aeddbb0 Copyright year update. 2019-01-03 19:17:22 -05:00
Wilson Snyder
83b5c981d0 devel release 2018-12-01 15:07:31 -05:00
Wilson Snyder
2685037ca2 Version bump 2018-12-01 14:52:21 -05:00
Wilson Snyder
160505c5a4 devel release 2018-10-27 08:48:12 -04:00
Wilson Snyder
3df9b4230b Version bump 2018-10-27 08:27:10 -04:00
Wilson Snyder
fc0cf00b1d devel release 2018-10-06 10:12:31 -04:00
Wilson Snyder
4333c201f1 Version bump 2018-10-06 09:51:57 -04:00
Kevin Kiningham
d4159811d2 configure: Fix test for c++03 etc. 2018-09-17 21:47:35 -04:00
Wilson Snyder
cc9f7d1ac3 devel release 2018-09-17 06:24:18 -04:00
Wilson Snyder
94c295f26a Version bump 2018-09-16 17:02:50 -04:00
Wilson Snyder
7a8c5ecfe1 Disable GCC2017, bug1339. 2018-09-03 08:19:43 -04:00
Wilson Snyder
aabb7394c3 Merge from master 2018-07-23 19:05:17 -04:00
Wilson Snyder
8e646bc55f configure: Add URL 2018-07-22 19:44:03 -04:00
Wilson Snyder
2f18a52118 Ignore automake flags passed by Ubuntu builds 2018-07-04 17:09:59 -04:00
Wilson Snyder
129610821f Ignore automake flags passed by Ubuntu builds 2018-07-03 21:34:50 -04:00
Wilson Snyder
02738ec4ea Warn if using pre-C++11 so find out who needs it. 2018-06-26 17:57:57 -04:00
Wilson Snyder
45eddfb335 Warn if using pre-C++11 so find out who needs it. 2018-06-26 07:33:55 -04:00