]> git.nickg.me.uk Git - nvc.git/log
nvc.git
17 months agoBump heap size to 64m in install-vivado.sh. Fixes #566
Nick Gasson [Wed, 9 Nov 2022 20:17:24 +0000 (20:17 +0000)]
Bump heap size to 64m in install-vivado.sh. Fixes #566

17 months agoRematerialise JIT functions and FFI handles in AOT mode
Nick Gasson [Wed, 9 Nov 2022 19:54:27 +0000 (19:54 +0000)]
Rematerialise JIT functions and FFI handles in AOT mode

17 months agoCall registration function when AOT library is loaded
Nick Gasson [Sun, 6 Nov 2022 20:36:05 +0000 (20:36 +0000)]
Call registration function when AOT library is loaded

17 months agoCode coverage improvements (#535)
Blebowski [Wed, 9 Nov 2022 18:04:39 +0000 (19:04 +0100)]
Code coverage improvements (#535)

17 months agoAdd ahead-of-time mode to LLVM JIT
Nick Gasson [Sat, 5 Nov 2022 21:11:14 +0000 (21:11 +0000)]
Add ahead-of-time mode to LLVM JIT

17 months agoUse transparent huge pages on Linux where possible
Nick Gasson [Sat, 5 Nov 2022 14:49:06 +0000 (14:49 +0000)]
Use transparent huge pages on Linux where possible

17 months agoSkip generating aggregates with null ranges. Fixes #560
Nick Gasson [Sat, 5 Nov 2022 22:00:53 +0000 (22:00 +0000)]
Skip generating aggregates with null ranges. Fixes #560

17 months agoSimplify how worker threads poll work queues
Nick Gasson [Sat, 5 Nov 2022 14:37:52 +0000 (14:37 +0000)]
Simplify how worker threads poll work queues

17 months agoUse relaxed atomic operations for some work queue functions
Nick Gasson [Sat, 5 Nov 2022 14:30:39 +0000 (14:30 +0000)]
Use relaxed atomic operations for some work queue functions

17 months agoRemove statement labelling (#561)
Blebowski [Sat, 5 Nov 2022 21:47:44 +0000 (22:47 +0100)]
Remove statement labelling (#561)

17 months agoAdd a simple local value numbering pass
Nick Gasson [Fri, 4 Nov 2022 22:03:06 +0000 (22:03 +0000)]
Add a simple local value numbering pass

17 months agoAdd some simple peephole optimisations for JIT IR
Nick Gasson [Tue, 1 Nov 2022 17:55:37 +0000 (17:55 +0000)]
Add some simple peephole optimisations for JIT IR

17 months agoAdd option to configure LLVM JIT threshold
Nick Gasson [Tue, 1 Nov 2022 11:47:34 +0000 (11:47 +0000)]
Add option to configure LLVM JIT threshold

17 months agoFix several LLVM verification errors
Nick Gasson [Tue, 1 Nov 2022 10:16:29 +0000 (10:16 +0000)]
Fix several LLVM verification errors

17 months agoDynamically resize CFG edge list
Nick Gasson [Mon, 31 Oct 2022 15:27:51 +0000 (15:27 +0000)]
Dynamically resize CFG edge list

17 months agoFix handling of logical operations in LLVM JIT
Nick Gasson [Mon, 31 Oct 2022 14:49:07 +0000 (14:49 +0000)]
Fix handling of logical operations in LLVM JIT

17 months agoFix LLVM verification errors with non-opaque pointers
Nick Gasson [Sun, 30 Oct 2022 18:28:28 +0000 (18:28 +0000)]
Fix LLVM verification errors with non-opaque pointers

17 months agoAdd LLVM JIT support for floating point types
Nick Gasson [Sun, 30 Oct 2022 17:23:38 +0000 (17:23 +0000)]
Add LLVM JIT support for floating point types

17 months agoSimplify type handling in LLVM JIT
Nick Gasson [Sat, 29 Oct 2022 21:41:54 +0000 (22:41 +0100)]
Simplify type handling in LLVM JIT

17 months agoSupport JIT compilation for LLVM 13+
Nick Gasson [Sat, 29 Oct 2022 17:40:06 +0000 (18:40 +0100)]
Support JIT compilation for LLVM 13+

17 months agoFix bug with live-in set calculation
Nick Gasson [Sat, 29 Oct 2022 18:05:59 +0000 (19:05 +0100)]
Fix bug with live-in set calculation

17 months agoImprove JIT assembler to support labels
Nick Gasson [Sat, 29 Oct 2022 16:50:47 +0000 (17:50 +0100)]
Improve JIT assembler to support labels

17 months agoUpdate to non-deprecated libdwarf interfaces
Nick Gasson [Sat, 29 Oct 2022 12:38:20 +0000 (13:38 +0100)]
Update to non-deprecated libdwarf interfaces

17 months agoDo not rely on behaviour of __builtin_ctz with zero argument
Nick Gasson [Sat, 29 Oct 2022 09:37:26 +0000 (10:37 +0100)]
Do not rely on behaviour of __builtin_ctz with zero argument

18 months agoAdd a simple assembler for JIT IR
Nick Gasson [Fri, 28 Oct 2022 09:57:30 +0000 (10:57 +0100)]
Add a simple assembler for JIT IR

18 months agoAdd LLVM IR generation for and/or/xor
Nick Gasson [Fri, 28 Oct 2022 08:50:24 +0000 (09:50 +0100)]
Add LLVM IR generation for and/or/xor

18 months agoAdd GitHub workflow to test OSVVM
Nick Gasson [Thu, 27 Oct 2022 18:58:23 +0000 (19:58 +0100)]
Add GitHub workflow to test OSVVM

Co-authored-by: Adam Barnes <ambarnes@gmail.com>
18 months agoImprove type coercion in LLVM JIT
Nick Gasson [Thu, 27 Oct 2022 11:05:40 +0000 (12:05 +0100)]
Improve type coercion in LLVM JIT

18 months agoAdd FFI support to LLVM JIT
Nick Gasson [Thu, 27 Oct 2022 10:37:45 +0000 (11:37 +0100)]
Add FFI support to LLVM JIT

18 months agoVarious fixes for LLVM JIT
Nick Gasson [Thu, 27 Oct 2022 08:46:14 +0000 (09:46 +0100)]
Various fixes for LLVM JIT

18 months agoAvoid error with null-range aggregate. Issue #552
Nick Gasson [Wed, 26 Oct 2022 19:25:42 +0000 (20:25 +0100)]
Avoid error with null-range aggregate. Issue #552

18 months agoAdd GitHub Actions workflow to test MSYS2 packages
Nick Gasson [Wed, 26 Oct 2022 18:45:49 +0000 (19:45 +0100)]
Add GitHub Actions workflow to test MSYS2 packages

Co-authored-by: Adam Barnes <ambarnes@gmail.com>
18 months agoDetect negative overflow with negation operator
Nick Gasson [Tue, 25 Oct 2022 20:26:24 +0000 (21:26 +0100)]
Detect negative overflow with negation operator

18 months agoAdd an Alpine builds.sr.ht config
Nick Gasson [Tue, 25 Oct 2022 19:42:39 +0000 (20:42 +0100)]
Add an Alpine builds.sr.ht config

18 months agoAdd configure option to enable experimental LLVM JIT compilation
Nick Gasson [Mon, 24 Oct 2022 21:23:48 +0000 (22:23 +0100)]
Add configure option to enable experimental LLVM JIT compilation

18 months agoSet up frame anchor in LLVM JIT backend
Nick Gasson [Sun, 23 Oct 2022 18:02:23 +0000 (19:02 +0100)]
Set up frame anchor in LLVM JIT backend

18 months agoFix crash with signal containing unconstrained array. Issue #539
Nick Gasson [Sun, 23 Oct 2022 16:56:31 +0000 (17:56 +0100)]
Fix crash with signal containing unconstrained array. Issue #539

18 months agonvc --list does not describe contexts. Fixes #559
Nick Gasson [Sun, 23 Oct 2022 16:20:26 +0000 (17:20 +0100)]
nvc --list does not describe contexts. Fixes #559

18 months agoEnable regression testing with interpreter only
Nick Gasson [Sun, 23 Oct 2022 14:54:53 +0000 (15:54 +0100)]
Enable regression testing with interpreter only

18 months agoAdd JIT support for guarded signals
Nick Gasson [Sun, 23 Oct 2022 13:24:56 +0000 (14:24 +0100)]
Add JIT support for guarded signals

18 months agoMove all JIT exits to jit-exits.c
Nick Gasson [Sun, 23 Oct 2022 13:00:42 +0000 (14:00 +0100)]
Move all JIT exits to jit-exits.c

18 months agoImprove accuracy of interpreter stack traces
Nick Gasson [Sun, 23 Oct 2022 09:56:43 +0000 (10:56 +0100)]
Improve accuracy of interpreter stack traces

18 months agoHandle FFI calls that return unconstrained arrays
Nick Gasson [Sat, 22 Oct 2022 19:58:49 +0000 (20:58 +0100)]
Handle FFI calls that return unconstrained arrays

18 months agoFix composite resolution function handling in interpreter
Nick Gasson [Sat, 22 Oct 2022 13:16:12 +0000 (14:16 +0100)]
Fix composite resolution function handling in interpreter

18 months agoJIT IR generation for force/release
Nick Gasson [Sat, 22 Oct 2022 08:49:00 +0000 (09:49 +0100)]
JIT IR generation for force/release

18 months agoImplement signal disconnection in interpreter
Nick Gasson [Sat, 22 Oct 2022 08:36:39 +0000 (09:36 +0100)]
Implement signal disconnection in interpreter

18 months agoDo not hard-code path to bash on Windows
Nick Gasson [Fri, 21 Oct 2022 18:23:45 +0000 (19:23 +0100)]
Do not hard-code path to bash on Windows

18 months agoImprove error message when required library not found
Nick Gasson [Fri, 21 Oct 2022 18:26:07 +0000 (19:26 +0100)]
Improve error message when required library not found

18 months agoUse static_alloc to allocate signals
Nick Gasson [Fri, 21 Oct 2022 18:32:25 +0000 (19:32 +0100)]
Use static_alloc to allocate signals

18 months agoImplement MACRO_EXIT in LLVM JIT backend
Nick Gasson [Fri, 21 Oct 2022 18:27:14 +0000 (19:27 +0100)]
Implement MACRO_EXIT in LLVM JIT backend

18 months agoFix bug with nested case/loop statement. Issue #539
Nick Gasson [Thu, 20 Oct 2022 21:14:22 +0000 (22:14 +0100)]
Fix bug with nested case/loop statement. Issue #539

18 months agoUpdates for MSYS2 PKGBUILD
Nick Gasson [Thu, 20 Oct 2022 20:13:57 +0000 (21:13 +0100)]
Updates for MSYS2 PKGBUILD

Co-authored-by: Adam Barnes <ambarnes@gmail.com>
18 months agoIncorrect copying of record initial value. Fixes #549
Nick Gasson [Tue, 18 Oct 2022 21:29:16 +0000 (22:29 +0100)]
Incorrect copying of record initial value. Fixes #549

18 months agoUse TCL script to compile OSVVM. Issue #546
Nick Gasson [Tue, 18 Oct 2022 20:00:51 +0000 (21:00 +0100)]
Use TCL script to compile OSVVM. Issue #546

Co-authored-by: Adam Barnes <ambarnes@gmail.com>
18 months agoAvoid use of non-standard GCC extension in win32_ctrl_c_handler
Nick Gasson [Mon, 17 Oct 2022 21:05:24 +0000 (22:05 +0100)]
Avoid use of non-standard GCC extension in win32_ctrl_c_handler

18 months agoFix name of GitHub Actions artifacts
Nick Gasson [Sun, 16 Oct 2022 21:06:45 +0000 (22:06 +0100)]
Fix name of GitHub Actions artifacts

18 months agoUse paths relative to executable on Windows
Nick Gasson [Sun, 16 Oct 2022 16:00:29 +0000 (17:00 +0100)]
Use paths relative to executable on Windows

18 months agoAllow non-static signal parameters in relaxed mode
Nick Gasson [Sun, 16 Oct 2022 14:50:39 +0000 (15:50 +0100)]
Allow non-static signal parameters in relaxed mode

18 months agoFix bugs in handling of 'SUBTYPE attribute. Issue #539
Nick Gasson [Sun, 16 Oct 2022 14:26:24 +0000 (15:26 +0100)]
Fix bugs in handling of 'SUBTYPE attribute. Issue #539

18 months agoSync NEWS.md from 1.7 branch
Nick Gasson [Sun, 16 Oct 2022 11:25:09 +0000 (12:25 +0100)]
Sync NEWS.md from 1.7 branch

18 months agoFix dumping of signals whose bounds are unknown
Nick Gasson [Sun, 16 Oct 2022 11:05:59 +0000 (12:05 +0100)]
Fix dumping of signals whose bounds are unknown

18 months agoJIT IR generation for procedure call suspend/resume
Nick Gasson [Sun, 16 Oct 2022 09:32:00 +0000 (10:32 +0100)]
JIT IR generation for procedure call suspend/resume

18 months agoAdd a PKGBUILD file for MSYS2
Nick Gasson [Sat, 15 Oct 2022 19:41:25 +0000 (20:41 +0100)]
Add a PKGBUILD file for MSYS2

Co-authored-by: Adam Barnes <ambarnes@gmail.com>
18 months agoNew FFI interface based on libffi
Nick Gasson [Thu, 13 Oct 2022 09:33:13 +0000 (10:33 +0100)]
New FFI interface based on libffi

18 months agoFix crash with signal declared in a generic package
Nick Gasson [Fri, 14 Oct 2022 08:53:15 +0000 (09:53 +0100)]
Fix crash with signal declared in a generic package

18 months agoTidy up elab_ctx_t usage
Nick Gasson [Fri, 14 Oct 2022 08:38:33 +0000 (09:38 +0100)]
Tidy up elab_ctx_t usage

18 months agoAdd support for relative external names. Fixes #553
Nick Gasson [Thu, 13 Oct 2022 22:27:36 +0000 (23:27 +0100)]
Add support for relative external names. Fixes #553

18 months agoSimplify handling of lvalue/rvalue expressions
Nick Gasson [Thu, 13 Oct 2022 19:23:32 +0000 (20:23 +0100)]
Simplify handling of lvalue/rvalue expressions

18 months agoRefactor how pedantic errors are generated
Nick Gasson [Thu, 13 Oct 2022 17:08:10 +0000 (18:08 +0100)]
Refactor how pedantic errors are generated

18 months agoError when signal initial value references another signal. Fixes #550
Nick Gasson [Thu, 13 Oct 2022 16:46:18 +0000 (17:46 +0100)]
Error when signal initial value references another signal. Fixes #550

18 months agoMissing call to lower_resolved in lower_port_ref
Nick Gasson [Thu, 13 Oct 2022 16:19:39 +0000 (17:19 +0100)]
Missing call to lower_resolved in lower_port_ref

18 months agoEnsure NVC_INSTALL_DEST is set in install scripts
Nick Gasson [Thu, 13 Oct 2022 10:58:44 +0000 (11:58 +0100)]
Ensure NVC_INSTALL_DEST is set in install scripts

18 months agoFix wrong component binding with block configuration
Nick Gasson [Thu, 13 Oct 2022 10:03:37 +0000 (11:03 +0100)]
Fix wrong component binding with block configuration

18 months agoSilence warnings from GitHub Actions
Nick Gasson [Tue, 11 Oct 2022 21:22:12 +0000 (22:22 +0100)]
Silence warnings from GitHub Actions

18 months agoGenerate constraints for port with unconstrained record type. Issue #544
Nick Gasson [Tue, 11 Oct 2022 21:08:27 +0000 (22:08 +0100)]
Generate constraints for port with unconstrained record type. Issue #544

18 months agoAppend mode truncates file. Fixes #551
Nick Gasson [Tue, 11 Oct 2022 19:47:05 +0000 (20:47 +0100)]
Append mode truncates file. Fixes #551

18 months agoDo not constant fold if-statements that contain drivers
Nick Gasson [Sun, 9 Oct 2022 09:13:27 +0000 (10:13 +0100)]
Do not constant fold if-statements that contain drivers

18 months agoLLVM IR generation for copy opcode
Nick Gasson [Sun, 9 Oct 2022 08:27:47 +0000 (09:27 +0100)]
LLVM IR generation for copy opcode

18 months agoLLVM IR generation for more operations
Nick Gasson [Sat, 8 Oct 2022 18:11:38 +0000 (19:11 +0100)]
LLVM IR generation for more operations

18 months agoImprove type inference for LLVM values
Nick Gasson [Sat, 8 Oct 2022 11:43:02 +0000 (12:43 +0100)]
Improve type inference for LLVM values

18 months agoAllow protected objects in concurrent procedure calls. Issue #547
Nick Gasson [Sat, 8 Oct 2022 08:31:13 +0000 (09:31 +0100)]
Allow protected objects in concurrent procedure calls. Issue #547

18 months agoAllow signal declarations in entity declarative part. Issue #547
Nick Gasson [Thu, 6 Oct 2022 18:35:58 +0000 (19:35 +0100)]
Allow signal declarations in entity declarative part. Issue #547

18 months agoProperly handle procedure returns in JIT irgen
Nick Gasson [Wed, 5 Oct 2022 21:11:38 +0000 (22:11 +0100)]
Properly handle procedure returns in JIT irgen

18 months agoFix "signal argument must have signal type" error. Issue #543
Nick Gasson [Wed, 5 Oct 2022 20:41:10 +0000 (21:41 +0100)]
Fix "signal argument must have signal type" error. Issue #543

18 months agoImprove testing of guarded signals
Nick Gasson [Mon, 3 Oct 2022 20:19:41 +0000 (21:19 +0100)]
Improve testing of guarded signals

18 months agoImprove "does not have item .." error message. Issue #539
Nick Gasson [Mon, 3 Oct 2022 19:52:34 +0000 (20:52 +0100)]
Improve "does not have item .." error message. Issue #539

18 months agoMOD and REM are defined for physical types in 2008. Fixes #540
Nick Gasson [Mon, 3 Oct 2022 19:45:26 +0000 (20:45 +0100)]
MOD and REM are defined for physical types in 2008. Fixes #540

18 months agoFix longest static prefix with 'RANGE expression. Fixes #542
Nick Gasson [Mon, 3 Oct 2022 19:39:12 +0000 (20:39 +0100)]
Fix longest static prefix with 'RANGE expression. Fixes #542

18 months agoRework how disconnected drivers are represented
Nick Gasson [Sun, 2 Oct 2022 18:24:49 +0000 (19:24 +0100)]
Rework how disconnected drivers are represented

18 months agoAvoid locking in work queue when there are no worker threads
Nick Gasson [Sun, 2 Oct 2022 15:58:27 +0000 (16:58 +0100)]
Avoid locking in work queue when there are no worker threads

18 months agoUse work queues for effective/driving value updates
Nick Gasson [Sun, 2 Oct 2022 15:15:44 +0000 (16:15 +0100)]
Use work queues for effective/driving value updates

18 months agoUse work queue for delta cycle process list
Nick Gasson [Sun, 2 Oct 2022 14:27:51 +0000 (15:27 +0100)]
Use work queue for delta cycle process list

18 months agoUse work queue for all sensitivity list events
Nick Gasson [Sun, 2 Oct 2022 10:03:50 +0000 (11:03 +0100)]
Use work queue for all sensitivity list events

18 months agoUse work queue for executing processes
Nick Gasson [Sun, 2 Oct 2022 08:40:41 +0000 (09:40 +0100)]
Use work queue for executing processes

18 months agoMake expected test output independent of execution order
Nick Gasson [Sun, 2 Oct 2022 08:38:12 +0000 (09:38 +0100)]
Make expected test output independent of execution order

18 months agoAdd a context parameter to work queues
Nick Gasson [Sat, 1 Oct 2022 17:18:04 +0000 (18:18 +0100)]
Add a context parameter to work queues

18 months agoAvoid allocating memory when registering diagnostic callbacks
Nick Gasson [Sat, 1 Oct 2022 11:21:05 +0000 (12:21 +0100)]
Avoid allocating memory when registering diagnostic callbacks

18 months agoMake MODEL_ENTER reentrant
Nick Gasson [Sat, 1 Oct 2022 11:02:02 +0000 (12:02 +0100)]
Make MODEL_ENTER reentrant

18 months agoUse shared work queue for code generation
Nick Gasson [Fri, 22 Jul 2022 15:55:38 +0000 (16:55 +0100)]
Use shared work queue for code generation

18 months agoAdd a work stealing task queue
Nick Gasson [Fri, 22 Jul 2022 14:55:42 +0000 (15:55 +0100)]
Add a work stealing task queue