]> git.nickg.me.uk Git - nvc.git/log
nvc.git
13 months agoWIP flatten array access (bad idea) flatten-array-access
Nick Gasson [Wed, 29 Mar 2023 20:03:19 +0000 (21:03 +0100)]
WIP flatten array access (bad idea)

13 months agoPrevent thread leak warning with tsan
Nick Gasson [Fri, 17 Mar 2023 18:11:48 +0000 (18:11 +0000)]
Prevent thread leak warning with tsan

13 months agoCreate a single string table per LLVM translation unit
Nick Gasson [Tue, 28 Mar 2023 20:22:44 +0000 (21:22 +0100)]
Create a single string table per LLVM translation unit

13 months agoCoverage expr unreachable (#661)
Blebowski [Tue, 28 Mar 2023 20:22:07 +0000 (22:22 +0200)]
Coverage expr unreachable (#661)

13 months agoAdd a memory allocation benchmark
Nick Gasson [Sun, 26 Mar 2023 17:03:26 +0000 (18:03 +0100)]
Add a memory allocation benchmark

13 months agoAdd a configure option to preserve frame pointer
Nick Gasson [Sun, 26 Mar 2023 15:21:34 +0000 (16:21 +0100)]
Add a configure option to preserve frame pointer

13 months agoOptimise out unused comparisons
Nick Gasson [Sun, 26 Mar 2023 11:41:38 +0000 (12:41 +0100)]
Optimise out unused comparisons

13 months agoOptimise for fall-through when translating cond opcode
Nick Gasson [Sun, 26 Mar 2023 11:05:28 +0000 (12:05 +0100)]
Optimise for fall-through when translating cond opcode

13 months agoTrack liveness for JIT flags value
Nick Gasson [Sun, 26 Mar 2023 10:46:26 +0000 (11:46 +0100)]
Track liveness for JIT flags value

13 months agoCheck for assignment to input with variable class. Fixes #659
Nick Gasson [Sat, 25 Mar 2023 21:49:01 +0000 (21:49 +0000)]
Check for assignment to input with variable class. Fixes #659

13 months agoMissing bounds check error when real value is infinity/NaN
Nick Gasson [Sat, 25 Mar 2023 21:31:33 +0000 (21:31 +0000)]
Missing bounds check error when real value is infinity/NaN

13 months agoError on MOD/REM with zero divisor
Nick Gasson [Sat, 25 Mar 2023 21:06:51 +0000 (21:06 +0000)]
Error on MOD/REM with zero divisor

13 months agoFix LLVM verification error from pointer comparison
Nick Gasson [Sat, 25 Mar 2023 21:00:56 +0000 (21:00 +0000)]
Fix LLVM verification error from pointer comparison

13 months agoAvoid use of deprecated LLVMBuildGEP
Nick Gasson [Sat, 25 Mar 2023 20:36:38 +0000 (20:36 +0000)]
Avoid use of deprecated LLVMBuildGEP

13 months agoAdd a dedicated JIT memset opcode
Nick Gasson [Sat, 25 Mar 2023 16:12:02 +0000 (16:12 +0000)]
Add a dedicated JIT memset opcode

13 months agoUse LLVM inline memset/memcpy intrinsics for short copies
Nick Gasson [Sat, 25 Mar 2023 10:05:15 +0000 (10:05 +0000)]
Use LLVM inline memset/memcpy intrinsics for short copies

13 months agoOptimise small $BZERO to a store of zero
Nick Gasson [Sat, 25 Mar 2023 09:50:01 +0000 (09:50 +0000)]
Optimise small $BZERO to a store of zero

13 months agoOptimise copy to memset in default array initialisation
Nick Gasson [Sat, 25 Mar 2023 09:38:35 +0000 (09:38 +0000)]
Optimise copy to memset in default array initialisation

13 months agoSet __attribute__((used)) on all exported symbols. Issue #657
Nick Gasson [Fri, 24 Mar 2023 18:51:23 +0000 (18:51 +0000)]
Set __attribute__((used)) on all exported symbols. Issue #657

13 months agoRemove old deprecated vendor install scripts from tools/ directory
Nick Gasson [Fri, 24 Mar 2023 18:50:54 +0000 (18:50 +0000)]
Remove old deprecated vendor install scripts from tools/ directory

13 months agoAdd builds.sr.ht config for Rocky Linux
Nick Gasson [Fri, 24 Mar 2023 18:40:46 +0000 (18:40 +0000)]
Add builds.sr.ht config for Rocky Linux

13 months agoAdd a $MOVE JIT opcode for overlapping copies
Nick Gasson [Fri, 24 Mar 2023 18:13:42 +0000 (18:13 +0000)]
Add a $MOVE JIT opcode for overlapping copies

13 months agoRemove old IEEE_SUPPORT files when cleaning
Nick Gasson [Thu, 23 Mar 2023 15:41:19 +0000 (15:41 +0000)]
Remove old IEEE_SUPPORT files when cleaning

13 months agoApply condition conversion in block guard expression. Fixes #638
Nick Gasson [Wed, 22 Mar 2023 20:28:50 +0000 (20:28 +0000)]
Apply condition conversion in block guard expression. Fixes #638

13 months agoFix crash when package generic map has "open". Issue #638
Nick Gasson [Wed, 22 Mar 2023 20:14:09 +0000 (20:14 +0000)]
Fix crash when package generic map has "open". Issue #638

13 months agoAvoid redundant calls to lib_walk_index
Nick Gasson [Wed, 22 Mar 2023 20:14:15 +0000 (20:14 +0000)]
Avoid redundant calls to lib_walk_index

13 months agoFix warnings on release build
Nick Gasson [Tue, 21 Mar 2023 21:37:36 +0000 (21:37 +0000)]
Fix warnings on release build

13 months agoFix crash instantiating generic subprogram without body. Issue #654
Nick Gasson [Mon, 20 Mar 2023 20:43:37 +0000 (20:43 +0000)]
Fix crash instantiating generic subprogram without body. Issue #654

13 months agoFix crash elaborating nested package. Issue #653
Nick Gasson [Mon, 20 Mar 2023 20:32:48 +0000 (20:32 +0000)]
Fix crash elaborating nested package. Issue #653

13 months agoFix garbled diagnostics when input is UTF-8 encoded
Nick Gasson [Mon, 20 Mar 2023 19:41:06 +0000 (19:41 +0000)]
Fix garbled diagnostics when input is UTF-8 encoded

13 months agoParse nested package declarations. Issue #653
Nick Gasson [Mon, 20 Mar 2023 18:32:04 +0000 (18:32 +0000)]
Parse nested package declarations. Issue #653

13 months agoAdd a unit test for issue #655
Nick Gasson [Mon, 20 Mar 2023 09:24:46 +0000 (09:24 +0000)]
Add a unit test for issue #655

13 months agoFix crash with subtype indication in case range choice. Fixes #655
Nick Gasson [Mon, 20 Mar 2023 09:22:01 +0000 (09:22 +0000)]
Fix crash with subtype indication in case range choice. Fixes #655

13 months agoFix Clang warnings about non-UTF-8 characters
Nick Gasson [Mon, 20 Mar 2023 09:18:43 +0000 (09:18 +0000)]
Fix Clang warnings about non-UTF-8 characters

13 months agoFix typo toupper_iso85591 -> toupper_iso88591
Nick Gasson [Sun, 19 Mar 2023 20:48:16 +0000 (20:48 +0000)]
Fix typo toupper_iso85591 -> toupper_iso88591

Spotted by @bpadalino

13 months agoAdd --disable-default-paths configure option. Issue #652
Nick Gasson [Sun, 19 Mar 2023 18:54:40 +0000 (18:54 +0000)]
Add --disable-default-paths configure option. Issue #652

13 months agoHandle ISO-8859-1 extended characters in string literals
Nick Gasson [Sun, 19 Mar 2023 18:33:25 +0000 (18:33 +0000)]
Handle ISO-8859-1 extended characters in string literals

13 months agoWarn on possible multi-byte UTF-8 characters in input
Nick Gasson [Sun, 19 Mar 2023 14:56:47 +0000 (14:56 +0000)]
Warn on possible multi-byte UTF-8 characters in input

13 months agoCheck for EROFS when opening lock file. Issue #651
Nick Gasson [Sun, 19 Mar 2023 14:19:16 +0000 (14:19 +0000)]
Check for EROFS when opening lock file. Issue #651

13 months agoCorrect handling of ISO-8859-1 characters in identifiers
Nick Gasson [Sun, 19 Mar 2023 10:38:53 +0000 (10:38 +0000)]
Correct handling of ISO-8859-1 characters in identifiers

13 months agoAdd SECONDS_TO_TIME and TIME_TO_SECONDS
Nick Gasson [Sat, 18 Mar 2023 22:20:07 +0000 (22:20 +0000)]
Add SECONDS_TO_TIME and TIME_TO_SECONDS

13 months agoRemove NVC.IEEE_SUPPORT package
Nick Gasson [Sat, 18 Mar 2023 14:16:15 +0000 (14:16 +0000)]
Remove NVC.IEEE_SUPPORT package

13 months agoRemove fbuf streaming mode
Nick Gasson [Sat, 18 Mar 2023 10:34:54 +0000 (10:34 +0000)]
Remove fbuf streaming mode

13 months agoStore compressed size in fbuf header
Nick Gasson [Sat, 18 Mar 2023 10:29:16 +0000 (10:29 +0000)]
Store compressed size in fbuf header

13 months agoPrevent thread leak warning with tsan
Nick Gasson [Fri, 17 Mar 2023 18:11:48 +0000 (18:11 +0000)]
Prevent thread leak warning with tsan

13 months agoMake jit_lazy_compile lazier
Nick Gasson [Fri, 17 Mar 2023 18:04:32 +0000 (18:04 +0000)]
Make jit_lazy_compile lazier

13 months agoSome AArch64 relocation types not defined on FreeBSD
Nick Gasson [Fri, 17 Mar 2023 10:28:17 +0000 (10:28 +0000)]
Some AArch64 relocation types not defined on FreeBSD

13 months agoImprove encoding scheme for downto range bounds
Nick Gasson [Thu, 16 Mar 2023 20:04:46 +0000 (20:04 +0000)]
Improve encoding scheme for downto range bounds

13 months agoClarify that JIT logical ops apply word-wise
Nick Gasson [Thu, 16 Mar 2023 21:00:33 +0000 (21:00 +0000)]
Clarify that JIT logical ops apply word-wise

13 months agoUse same rounding algorithm in interpreter as LLVM
Nick Gasson [Thu, 16 Mar 2023 19:56:35 +0000 (19:56 +0000)]
Use same rounding algorithm in interpreter as LLVM

13 months agoAdd zstd include directory to CFLAGS
Nick Gasson [Thu, 16 Mar 2023 19:56:20 +0000 (19:56 +0000)]
Add zstd include directory to CFLAGS

13 months agoFix another corner case with generic packages. Issue #644
Nick Gasson [Wed, 15 Mar 2023 20:57:25 +0000 (20:57 +0000)]
Fix another corner case with generic packages. Issue #644

13 months agoMove type_freedom function to sem
Nick Gasson [Wed, 15 Mar 2023 21:02:29 +0000 (21:02 +0000)]
Move type_freedom function to sem

13 months agoFix spurious error with interface package declaration. Issue #644
Nick Gasson [Wed, 15 Mar 2023 19:05:42 +0000 (19:05 +0000)]
Fix spurious error with interface package declaration. Issue #644

13 months agoImprove handling of record subtypes
Nick Gasson [Wed, 15 Mar 2023 18:34:58 +0000 (18:34 +0000)]
Improve handling of record subtypes

13 months agoParse "assume_directive", "cover_directive" and optional "report". (#649)
Blebowski [Wed, 15 Mar 2023 17:13:50 +0000 (18:13 +0100)]
Parse "assume_directive", "cover_directive" and optional "report". (#649)

13 months agoSimplify handling of subtype constraints
Nick Gasson [Tue, 14 Mar 2023 19:53:20 +0000 (19:53 +0000)]
Simplify handling of subtype constraints

13 months agoOptimise LLVM real to integer conversion
Nick Gasson [Mon, 13 Mar 2023 17:47:03 +0000 (17:47 +0000)]
Optimise LLVM real to integer conversion

13 months agoAdd "nounwind" attribute to all LLVM function declarations
Nick Gasson [Mon, 13 Mar 2023 17:20:02 +0000 (17:20 +0000)]
Add "nounwind" attribute to all LLVM function declarations

13 months agoAdd missing issue646.vhd to testlist.txt
Nick Gasson [Sun, 12 Mar 2023 22:39:04 +0000 (22:39 +0000)]
Add missing issue646.vhd to testlist.txt

13 months agoAllow more cases of reading signal value during elaboration. Issue #640
Nick Gasson [Sun, 12 Mar 2023 19:24:35 +0000 (19:24 +0000)]
Allow more cases of reading signal value during elaboration. Issue #640

13 months agoAvoid generating resolved value in prefix of attributes
Nick Gasson [Sun, 12 Mar 2023 22:15:43 +0000 (22:15 +0000)]
Avoid generating resolved value in prefix of attributes

13 months agoSync FST code to GtkWave 816166e9
Nick Gasson [Sun, 12 Mar 2023 21:33:46 +0000 (21:33 +0000)]
Sync FST code to GtkWave 816166e9

13 months agoAdd optional support for using libzstd to compress library files
Nick Gasson [Sun, 12 Mar 2023 16:19:53 +0000 (16:19 +0000)]
Add optional support for using libzstd to compress library files

13 months agoOptimise varint decoding in fbuf_get_uint
Nick Gasson [Sun, 12 Mar 2023 14:56:22 +0000 (14:56 +0000)]
Optimise varint decoding in fbuf_get_uint

13 months agoAdd --define option for conditional analysis identifiers (#647)
Blebowski [Sun, 12 Mar 2023 11:43:13 +0000 (12:43 +0100)]
Add --define option for conditional analysis identifiers (#647)

13 months agoImplement remaining VHDL-2019 file operations
Nick Gasson [Sun, 12 Mar 2023 08:59:36 +0000 (08:59 +0000)]
Implement remaining VHDL-2019 file operations

13 months agoImplement FILE_MODE and FILE_STATE
Nick Gasson [Sat, 11 Mar 2023 22:25:50 +0000 (22:25 +0000)]
Implement FILE_MODE and FILE_STATE

13 months agoImplement FILE_TRUNCATE procedure
Nick Gasson [Sat, 11 Mar 2023 19:26:16 +0000 (19:26 +0000)]
Implement FILE_TRUNCATE procedure

13 months agoImplement FILE_OPEN impure function from VHDL-2019
Nick Gasson [Sat, 11 Mar 2023 18:14:45 +0000 (18:14 +0000)]
Implement FILE_OPEN impure function from VHDL-2019

13 months agoOptimise interp_get_value
Nick Gasson [Sat, 11 Mar 2023 16:57:23 +0000 (16:57 +0000)]
Optimise interp_get_value

13 months agoBatch update for all drivers in signal
Nick Gasson [Sat, 11 Mar 2023 15:27:22 +0000 (15:27 +0000)]
Batch update for all drivers in signal

13 months agoLimit maximum threads to eight by default
Nick Gasson [Sat, 11 Mar 2023 17:24:56 +0000 (17:24 +0000)]
Limit maximum threads to eight by default

13 months agoAdd READ_WRITE_MODE, FILE_SEEK, and FILE_REWIND from VHDL-2019
Nick Gasson [Fri, 10 Mar 2023 21:03:38 +0000 (21:03 +0000)]
Add READ_WRITE_MODE, FILE_SEEK, and FILE_REWIND from VHDL-2019

13 months agoPass explicit length argument for foreign subprograms
Nick Gasson [Fri, 10 Mar 2023 20:08:20 +0000 (20:08 +0000)]
Pass explicit length argument for foreign subprograms

13 months agoParse Verilog continuous assignment
Nick Gasson [Fri, 10 Mar 2023 19:18:41 +0000 (19:18 +0000)]
Parse Verilog continuous assignment

13 months agoCrash with matching case statement on unconstrained array. Fixes #643
Nick Gasson [Fri, 10 Mar 2023 16:43:50 +0000 (16:43 +0000)]
Crash with matching case statement on unconstrained array. Fixes #643

13 months agoAdd stub for Verilog parser
Nick Gasson [Sat, 1 Jan 2022 06:21:27 +0000 (14:21 +0800)]
Add stub for Verilog parser

13 months agoFix compatibility with old versions of check
Nick Gasson [Fri, 10 Mar 2023 13:24:16 +0000 (13:24 +0000)]
Fix compatibility with old versions of check

13 months agoLowering for PSL clocks
Nick Gasson [Fri, 10 Mar 2023 10:36:13 +0000 (10:36 +0000)]
Lowering for PSL clocks

13 months agoAttach PSL clock declaration to properties
Nick Gasson [Fri, 10 Mar 2023 10:11:28 +0000 (10:11 +0000)]
Attach PSL clock declaration to properties

13 months agoAdd some tests for PSL dumper
Nick Gasson [Thu, 9 Mar 2023 17:46:23 +0000 (17:46 +0000)]
Add some tests for PSL dumper

14 months agoElaboration failure with generic function in entity. Fixes #620
Nick Gasson [Mon, 6 Mar 2023 09:04:17 +0000 (09:04 +0000)]
Elaboration failure with generic function in entity. Fixes #620

14 months agoAdd coverage-spec (#639)
Blebowski [Mon, 6 Mar 2023 08:36:44 +0000 (09:36 +0100)]
Add coverage-spec (#639)

14 months agoFix parse error with nested comments
Nick Gasson [Sun, 5 Mar 2023 19:23:02 +0000 (19:23 +0000)]
Fix parse error with nested comments

14 months agoFold references and function calls in generic maps
Nick Gasson [Sun, 5 Mar 2023 18:53:29 +0000 (18:53 +0000)]
Fold references and function calls in generic maps

14 months agoRun more VUnit tests in GHA workflow
Nick Gasson [Sun, 5 Mar 2023 18:14:40 +0000 (18:14 +0000)]
Run more VUnit tests in GHA workflow

14 months agoBe more conservative about folding generics
Nick Gasson [Sun, 5 Mar 2023 17:07:55 +0000 (17:07 +0000)]
Be more conservative about folding generics

14 months agoAdd initial support for PSL parsing. Issue #455
Nick Gasson [Mon, 25 Apr 2022 21:32:18 +0000 (22:32 +0100)]
Add initial support for PSL parsing. Issue #455

14 months agoFix handling of indexed parameter name for signal arguments
Nick Gasson [Sun, 5 Mar 2023 11:59:52 +0000 (11:59 +0000)]
Fix handling of indexed parameter name for signal arguments

14 months agoAdd configure check for fseeko. Fixes #636
Nick Gasson [Sun, 5 Mar 2023 11:19:14 +0000 (11:19 +0000)]
Add configure check for fseeko. Fixes #636

14 months agoFix incorrect handling of inertial signal assignment
Nick Gasson [Sun, 5 Mar 2023 11:06:18 +0000 (11:06 +0000)]
Fix incorrect handling of inertial signal assignment

14 months agoImplicit signal attributes are static names. Issue #640
Nick Gasson [Sun, 5 Mar 2023 10:38:42 +0000 (10:38 +0000)]
Implicit signal attributes are static names. Issue #640

14 months agoMove VHPI sources to main libnvc.a
Nick Gasson [Sun, 5 Mar 2023 10:24:35 +0000 (10:24 +0000)]
Move VHPI sources to main libnvc.a

14 months agoLower instances concurrently with elaboration
Nick Gasson [Thu, 2 Mar 2023 21:27:46 +0000 (21:27 +0000)]
Lower instances concurrently with elaboration

14 months agoRemove top_scope global variable from lower
Nick Gasson [Thu, 2 Mar 2023 19:35:26 +0000 (19:35 +0000)]
Remove top_scope global variable from lower

14 months agoAdd FST scope type for if-generate
Nick Gasson [Sat, 4 Mar 2023 21:32:14 +0000 (21:32 +0000)]
Add FST scope type for if-generate

14 months agoFix uninitialised bytes at end of debug buffer
Nick Gasson [Fri, 3 Mar 2023 21:08:05 +0000 (21:08 +0000)]
Fix uninitialised bytes at end of debug buffer

14 months agoSome test cases missing from testlist.txt
Nick Gasson [Tue, 28 Feb 2023 18:06:24 +0000 (18:06 +0000)]
Some test cases missing from testlist.txt

14 months agoUpdate entity name list parsing. (#629)
Brian Padalino [Wed, 1 Mar 2023 20:40:30 +0000 (15:40 -0500)]
Update entity name list parsing. (#629)