]> git.nickg.me.uk Git - nvc.git/log
nvc.git
2 years agoGain a little vertical space new-diag
Nick Gasson [Tue, 29 Mar 2022 20:59:55 +0000 (21:59 +0100)]
Gain a little vertical space

2 years agoFix memory leak
Nick Gasson [Tue, 29 Mar 2022 20:38:24 +0000 (21:38 +0100)]
Fix memory leak

2 years agoRemove loc module
Nick Gasson [Tue, 29 Mar 2022 20:37:12 +0000 (21:37 +0100)]
Remove loc module

2 years agoMerge loc and diag modules
Nick Gasson [Tue, 29 Mar 2022 20:27:32 +0000 (21:27 +0100)]
Merge loc and diag modules

2 years agoTweak some error messages
Nick Gasson [Tue, 29 Mar 2022 18:58:28 +0000 (19:58 +0100)]
Tweak some error messages

2 years agoLine buffering for stderr
Nick Gasson [Sat, 26 Mar 2022 21:29:49 +0000 (21:29 +0000)]
Line buffering for stderr

2 years agoFix stupid bug
Nick Gasson [Sat, 26 Mar 2022 21:24:51 +0000 (21:24 +0000)]
Fix stupid bug

2 years agoTidy up
Nick Gasson [Sat, 26 Mar 2022 20:08:10 +0000 (20:08 +0000)]
Tidy up

2 years agoFix all regression tests
Nick Gasson [Sat, 26 Mar 2022 18:56:00 +0000 (18:56 +0000)]
Fix all regression tests

2 years agoFix most tests
Nick Gasson [Sat, 26 Mar 2022 13:57:19 +0000 (13:57 +0000)]
Fix most tests

2 years agoFix stack traces
Nick Gasson [Sat, 26 Mar 2022 13:50:48 +0000 (13:50 +0000)]
Fix stack traces

2 years agoAdd to runtime
Nick Gasson [Sat, 26 Mar 2022 13:32:03 +0000 (13:32 +0000)]
Add to runtime

2 years agoFix all unit tests
Nick Gasson [Sat, 26 Mar 2022 12:28:54 +0000 (12:28 +0000)]
Fix all unit tests

2 years agoUse everywhere
Nick Gasson [Sat, 26 Mar 2022 11:55:34 +0000 (11:55 +0000)]
Use everywhere

2 years agoUse in lexer
Nick Gasson [Sat, 26 Mar 2022 09:02:29 +0000 (09:02 +0000)]
Use in lexer

2 years agoWIP new fancy diag system
Nick Gasson [Fri, 25 Mar 2022 22:49:13 +0000 (22:49 +0000)]
WIP new fancy diag system

2 years agoAdd some more semantic checks for record element constraints
Nick Gasson [Fri, 25 Mar 2022 19:08:49 +0000 (19:08 +0000)]
Add some more semantic checks for record element constraints

2 years agoRefactor variable and signal declaration checking
Nick Gasson [Fri, 25 Mar 2022 17:25:08 +0000 (17:25 +0000)]
Refactor variable and signal declaration checking

2 years agoFix various corner cases with arrays-in-record
Nick Gasson [Fri, 25 Mar 2022 15:06:09 +0000 (15:06 +0000)]
Fix various corner cases with arrays-in-record

2 years agoAdd test for constant folding corner case
Nick Gasson [Fri, 25 Mar 2022 10:10:59 +0000 (10:10 +0000)]
Add test for constant folding corner case

2 years agoFix intermittent unit test failure
Nick Gasson [Fri, 25 Mar 2022 10:10:21 +0000 (10:10 +0000)]
Fix intermittent unit test failure

2 years agoAdd some VHDL-2008 rules for locally static expressions
Nick Gasson [Thu, 24 Mar 2022 19:48:53 +0000 (19:48 +0000)]
Add some VHDL-2008 rules for locally static expressions

2 years agoUpdate outputs only when necessary
Nick Gasson [Thu, 24 Mar 2022 18:42:48 +0000 (18:42 +0000)]
Update outputs only when necessary

2 years agoAdd spi-fpga to regression tests
Nick Gasson [Thu, 24 Mar 2022 17:24:11 +0000 (17:24 +0000)]
Add spi-fpga to regression tests

2 years agoFix build on Mac and Windows
Nick Gasson [Thu, 24 Mar 2022 14:36:03 +0000 (14:36 +0000)]
Fix build on Mac and Windows

2 years agoCopy last value unconditionally
Nick Gasson [Thu, 24 Mar 2022 14:28:44 +0000 (14:28 +0000)]
Copy last value unconditionally

2 years agoUse a helper function to build resolved records
Nick Gasson [Thu, 24 Mar 2022 10:20:03 +0000 (10:20 +0000)]
Use a helper function to build resolved records

2 years agoAvoid pointless copy for some record signal assignments
Nick Gasson [Thu, 24 Mar 2022 09:07:46 +0000 (09:07 +0000)]
Avoid pointless copy for some record signal assignments

2 years agoRemove obsolete rt_push_active_nexus
Nick Gasson [Wed, 23 Mar 2022 21:42:44 +0000 (21:42 +0000)]
Remove obsolete rt_push_active_nexus

2 years agoDirect mapping for record references in port map
Nick Gasson [Wed, 23 Mar 2022 20:54:06 +0000 (20:54 +0000)]
Direct mapping for record references in port map

2 years agoDo not store rank in rt_nexus_t
Nick Gasson [Wed, 23 Mar 2022 16:04:28 +0000 (16:04 +0000)]
Do not store rank in rt_nexus_t

2 years agoAdd a new rt_net_t abstraction
Nick Gasson [Wed, 23 Mar 2022 15:47:20 +0000 (15:47 +0000)]
Add a new rt_net_t abstraction

2 years agoAvoid pointer dereference in rt_resolve_nexus_fast
Nick Gasson [Tue, 22 Mar 2022 16:28:11 +0000 (16:28 +0000)]
Avoid pointer dereference in rt_resolve_nexus_fast

2 years agoDirect map input ports in lowering phase
Nick Gasson [Tue, 22 Mar 2022 16:03:24 +0000 (16:03 +0000)]
Direct map input ports in lowering phase

2 years agoLimit maximum nexus width
Nick Gasson [Mon, 21 Mar 2022 22:23:02 +0000 (22:23 +0000)]
Limit maximum nexus width

2 years agoReduce size of signal/nexus structs a little bit
Nick Gasson [Mon, 21 Mar 2022 20:03:35 +0000 (20:03 +0000)]
Reduce size of signal/nexus structs a little bit

2 years agoFlatten value_t structure
Nick Gasson [Mon, 21 Mar 2022 16:28:22 +0000 (16:28 +0000)]
Flatten value_t structure

2 years agoRefactor conversion functions
Nick Gasson [Mon, 21 Mar 2022 11:33:53 +0000 (11:33 +0000)]
Refactor conversion functions

2 years agoSimplify lowering for inout ports
Nick Gasson [Sun, 20 Mar 2022 20:39:45 +0000 (20:39 +0000)]
Simplify lowering for inout ports

2 years agoAvoid a copy when updating inputs
Nick Gasson [Sun, 20 Mar 2022 16:39:57 +0000 (16:39 +0000)]
Avoid a copy when updating inputs

2 years agoGet rid of the rank-N heap
Nick Gasson [Sun, 20 Mar 2022 15:24:03 +0000 (15:24 +0000)]
Get rid of the rank-N heap

2 years agoChain output nexus into linked list
Nick Gasson [Sun, 20 Mar 2022 13:05:12 +0000 (13:05 +0000)]
Chain output nexus into linked list

2 years agoAdd index for large signals
Nick Gasson [Sun, 20 Mar 2022 12:42:09 +0000 (12:42 +0000)]
Add index for large signals

2 years agoAdd an integer hash table
Nick Gasson [Sun, 9 Jan 2022 04:54:59 +0000 (12:54 +0800)]
Add an integer hash table

2 years agoRemove static eopt phase
Nick Gasson [Tue, 15 Feb 2022 03:33:16 +0000 (11:33 +0800)]
Remove static eopt phase

2 years agoTerminate simulation when time reaches TIME'HIGH
Nick Gasson [Thu, 10 Mar 2022 09:03:01 +0000 (09:03 +0000)]
Terminate simulation when time reaches TIME'HIGH

2 years agoFix test_debug without debug symbols. Issue #445
Nick Gasson [Wed, 9 Mar 2022 19:42:03 +0000 (19:42 +0000)]
Fix test_debug without debug symbols. Issue #445

2 years agoFix stack traces on FreeBSD
Nick Gasson [Wed, 9 Mar 2022 18:52:52 +0000 (18:52 +0000)]
Fix stack traces on FreeBSD

2 years agoProcess postponed flag lost during simplification
Nick Gasson [Wed, 2 Mar 2022 08:43:55 +0000 (16:43 +0800)]
Process postponed flag lost during simplification

2 years agoAdd command line options to set secondary stack size. Issue #451
Nick Gasson [Tue, 22 Feb 2022 12:04:44 +0000 (20:04 +0800)]
Add command line options to set secondary stack size. Issue #451

2 years agoImprove checks for system C compiler in configure script. Issue #449
Nick Gasson [Tue, 22 Feb 2022 10:14:10 +0000 (18:14 +0800)]
Improve checks for system C compiler in configure script. Issue #449

2 years agoAvoid re-evaluating constants in elab_fold
Nick Gasson [Thu, 17 Feb 2022 06:42:58 +0000 (14:42 +0800)]
Avoid re-evaluating constants in elab_fold

2 years agoIncorrect sensitivity list when waiting on a function call
Nick Gasson [Thu, 17 Feb 2022 06:39:03 +0000 (14:39 +0800)]
Incorrect sensitivity list when waiting on a function call

2 years agoRevert "Bump process temporary stack size to 128kB"
Nick Gasson [Sun, 13 Feb 2022 12:38:52 +0000 (20:38 +0800)]
Revert "Bump process temporary stack size to 128kB"

This reverts commit ebafa58546cca1e2bc7e12fb7d4281348aebabef.

2 years agoFix compatibility with debug LLVM
Nick Gasson [Sun, 13 Feb 2022 12:38:21 +0000 (20:38 +0800)]
Fix compatibility with debug LLVM

2 years agoEagerly fold all constants in generic map. Fixes #450
Nick Gasson [Sun, 13 Feb 2022 07:40:49 +0000 (15:40 +0800)]
Eagerly fold all constants in generic map. Fixes #450

2 years agoLLVM debugging improvements
Nick Gasson [Sat, 12 Feb 2022 07:51:23 +0000 (15:51 +0800)]
LLVM debugging improvements

2 years agoHandle element constraints in lower_array_total_len
Nick Gasson [Sat, 12 Feb 2022 01:55:12 +0000 (09:55 +0800)]
Handle element constraints in lower_array_total_len

2 years agoAdd separate opcode for division-by-zero check
Nick Gasson [Fri, 11 Feb 2022 06:20:34 +0000 (14:20 +0800)]
Add separate opcode for division-by-zero check

2 years agoExtra checking for --with-system-cc argument. Issue #449
Nick Gasson [Fri, 11 Feb 2022 08:02:31 +0000 (16:02 +0800)]
Extra checking for --with-system-cc argument. Issue #449

2 years agoBump process temporary stack size to 128kB
Nick Gasson [Fri, 11 Feb 2022 04:15:54 +0000 (12:15 +0800)]
Bump process temporary stack size to 128kB

2 years agoFix incorrect generic map value with component generics. Issue #448
Nick Gasson [Fri, 11 Feb 2022 04:15:33 +0000 (12:15 +0800)]
Fix incorrect generic map value with component generics. Issue #448

2 years agoImprove elaboration hint printing
Nick Gasson [Fri, 11 Feb 2022 03:09:16 +0000 (11:09 +0800)]
Improve elaboration hint printing

2 years agoThread single exec_t instance through elab
Nick Gasson [Fri, 11 Feb 2022 02:55:14 +0000 (10:55 +0800)]
Thread single exec_t instance through elab

2 years agoBetter diagnostics when constant folding fails
Nick Gasson [Fri, 11 Feb 2022 02:14:33 +0000 (10:14 +0800)]
Better diagnostics when constant folding fails

2 years agoMissing check for negative integer exponent
Nick Gasson [Thu, 10 Feb 2022 10:12:36 +0000 (18:12 +0800)]
Missing check for negative integer exponent

2 years agoSeparate tree kind for subprogram parameters
Nick Gasson [Thu, 10 Feb 2022 05:11:29 +0000 (13:11 +0800)]
Separate tree kind for subprogram parameters

2 years agoStack corruption when procedure contains variable sized record. Issue #447
Nick Gasson [Thu, 10 Feb 2022 03:42:55 +0000 (11:42 +0800)]
Stack corruption when procedure contains variable sized record. Issue #447

2 years agoAvoid wrapping lines in stack traces
Nick Gasson [Thu, 10 Feb 2022 02:33:39 +0000 (10:33 +0800)]
Avoid wrapping lines in stack traces

2 years agoMissing null check in opt_get_verbose
Nick Gasson [Thu, 10 Feb 2022 01:55:19 +0000 (09:55 +0800)]
Missing null check in opt_get_verbose

2 years agoFix error message when 'IMAGE used with array
Nick Gasson [Wed, 9 Feb 2022 12:37:15 +0000 (20:37 +0800)]
Fix error message when 'IMAGE used with array

2 years agoReduce cache misses by inlining the first waveform in a driver
Nick Gasson [Wed, 9 Feb 2022 07:05:34 +0000 (15:05 +0800)]
Reduce cache misses by inlining the first waveform in a driver

2 years agoRevert "Add a prefetch before updating drivers"
Nick Gasson [Wed, 9 Feb 2022 06:59:01 +0000 (14:59 +0800)]
Revert "Add a prefetch before updating drivers"

This reverts commit d996a5fc3cc17206f09c49d3485eb24e60ac12e4.

2 years agoChange -flto to -flto=auto
Nick Gasson [Wed, 9 Feb 2022 01:38:24 +0000 (09:38 +0800)]
Change -flto to -flto=auto

2 years agoParsing for VHDL-2008 array constraints
Nick Gasson [Tue, 8 Feb 2022 04:14:55 +0000 (12:14 +0800)]
Parsing for VHDL-2008 array constraints

2 years agoFix compatibility with LLVM < 8.0. Issue #446
Nick Gasson [Tue, 8 Feb 2022 01:27:17 +0000 (09:27 +0800)]
Fix compatibility with LLVM < 8.0. Issue #446

2 years agoWork around a bug in e_chunk_nexus
Nick Gasson [Tue, 8 Feb 2022 00:58:31 +0000 (08:58 +0800)]
Work around a bug in e_chunk_nexus

2 years agoAvoid sem crash after cascading error
Nick Gasson [Mon, 7 Feb 2022 08:11:08 +0000 (16:11 +0800)]
Avoid sem crash after cascading error

2 years agoFix another corner case with generic types
Nick Gasson [Mon, 7 Feb 2022 07:47:10 +0000 (15:47 +0800)]
Fix another corner case with generic types

2 years agoFix intermittent error with protected type bodies
Nick Gasson [Mon, 7 Feb 2022 06:27:33 +0000 (14:27 +0800)]
Fix intermittent error with protected type bodies

2 years agoPredefined DEALLOCATE missing mangled name
Nick Gasson [Mon, 7 Feb 2022 03:06:36 +0000 (11:06 +0800)]
Predefined DEALLOCATE missing mangled name

2 years agoFix duplicate import when using VHDL-2008 context declarations
Nick Gasson [Mon, 7 Feb 2022 02:09:34 +0000 (10:09 +0800)]
Fix duplicate import when using VHDL-2008 context declarations

2 years agoAllow generic declaration to hide entity
Nick Gasson [Mon, 7 Feb 2022 01:30:52 +0000 (09:30 +0800)]
Allow generic declaration to hide entity

2 years agoFix assertion failure with nested context
Nick Gasson [Mon, 7 Feb 2022 01:18:32 +0000 (09:18 +0800)]
Fix assertion failure with nested context

2 years agoRename T_CTXREF to T_CONTEXT_REF
Nick Gasson [Mon, 7 Feb 2022 01:09:38 +0000 (09:09 +0800)]
Rename T_CTXREF to T_CONTEXT_REF

2 years agoFix crash when record aggregate contains an access type
Nick Gasson [Mon, 7 Feb 2022 01:06:07 +0000 (09:06 +0800)]
Fix crash when record aggregate contains an access type

2 years agoFix crash returning access to incomplete type
Nick Gasson [Mon, 7 Feb 2022 00:58:42 +0000 (08:58 +0800)]
Fix crash returning access to incomplete type

2 years agoMissing error for incomplete type in allocator expression
Nick Gasson [Mon, 7 Feb 2022 00:58:07 +0000 (08:58 +0800)]
Missing error for incomplete type in allocator expression

2 years agoFix crash returning access from impure function
Nick Gasson [Sun, 6 Feb 2022 12:20:47 +0000 (20:20 +0800)]
Fix crash returning access from impure function

2 years agoFix incorrect code generation for access-to-array
Nick Gasson [Sun, 6 Feb 2022 12:07:59 +0000 (20:07 +0800)]
Fix incorrect code generation for access-to-array

2 years agoDisallow pointers in all vcode arithmetic operators
Nick Gasson [Sun, 6 Feb 2022 09:53:33 +0000 (17:53 +0800)]
Disallow pointers in all vcode arithmetic operators

2 years agoAdd a new "range length" opcode
Nick Gasson [Sun, 6 Feb 2022 09:34:54 +0000 (17:34 +0800)]
Add a new "range length" opcode

2 years agoFix incorrect arithmetic identity for subtraction
Nick Gasson [Sun, 6 Feb 2022 09:33:14 +0000 (17:33 +0800)]
Fix incorrect arithmetic identity for subtraction

2 years agoFix another corner case with generic packages
Nick Gasson [Sun, 6 Feb 2022 08:14:08 +0000 (16:14 +0800)]
Fix another corner case with generic packages

2 years agoAdd a basic test of IEEE.FLOAT_PKG
Nick Gasson [Sun, 6 Feb 2022 06:25:33 +0000 (14:25 +0800)]
Add a basic test of IEEE.FLOAT_PKG

2 years agoMove deferred constant checking into sem
Nick Gasson [Sun, 6 Feb 2022 03:16:44 +0000 (11:16 +0800)]
Move deferred constant checking into sem

2 years agoImprove subprogram conformance checking
Nick Gasson [Sun, 6 Feb 2022 03:01:09 +0000 (11:01 +0800)]
Improve subprogram conformance checking

2 years agoRemove dead code from sem_copy_default_args
Nick Gasson [Sun, 6 Feb 2022 01:28:50 +0000 (09:28 +0800)]
Remove dead code from sem_copy_default_args

2 years agoImprove readability of dumped addresses
Nick Gasson [Sun, 6 Feb 2022 01:27:51 +0000 (09:27 +0800)]
Improve readability of dumped addresses

2 years agoFix crash after error in package instantiation
Nick Gasson [Sun, 6 Feb 2022 01:12:16 +0000 (09:12 +0800)]
Fix crash after error in package instantiation