]> git.nickg.me.uk Git - nvc.git/log
nvc.git
2 years agoFew small fixes generic-package
Nick Gasson [Sun, 2 Jan 2022 13:17:15 +0000 (21:17 +0800)]
Few small fixes

2 years agoAdd separate T_PACK_INST tree kind
Nick Gasson [Fri, 31 Dec 2021 13:00:16 +0000 (21:00 +0800)]
Add separate T_PACK_INST tree kind

2 years agoBasic initial support for generic packages
Nick Gasson [Thu, 7 Oct 2021 06:15:34 +0000 (14:15 +0800)]
Basic initial support for generic packages

2 years agoFix corner case where unit is obsoleted in a single source file
Nick Gasson [Sun, 2 Jan 2022 12:52:52 +0000 (20:52 +0800)]
Fix corner case where unit is obsoleted in a single source file

2 years agoFix folding using wrong function definition
Nick Gasson [Sun, 2 Jan 2022 12:41:26 +0000 (20:41 +0800)]
Fix folding using wrong function definition

2 years agoDo not attempt to fold builtins before code is generated
Nick Gasson [Sun, 2 Jan 2022 08:07:52 +0000 (16:07 +0800)]
Do not attempt to fold builtins before code is generated

2 years agoFix unit tests with CK_FORK=no
Nick Gasson [Sun, 2 Jan 2022 07:32:04 +0000 (15:32 +0800)]
Fix unit tests with CK_FORK=no

2 years agoStore eopt data in a separate arena
Nick Gasson [Sun, 2 Jan 2022 05:34:42 +0000 (13:34 +0800)]
Store eopt data in a separate arena

2 years agoUse shared ident/loc context when writing trees and vcode
Nick Gasson [Sun, 2 Jan 2022 04:43:12 +0000 (12:43 +0800)]
Use shared ident/loc context when writing trees and vcode

2 years agoStore vcode units in the tree file
Nick Gasson [Sun, 2 Jan 2022 04:13:25 +0000 (12:13 +0800)]
Store vcode units in the tree file

2 years agoFix dumping of alias without type mark
Nick Gasson [Fri, 31 Dec 2021 08:59:13 +0000 (16:59 +0800)]
Fix dumping of alias without type mark

2 years agoRemove unused includes
Nick Gasson [Fri, 31 Dec 2021 13:12:31 +0000 (21:12 +0800)]
Remove unused includes

2 years agoFix crash when use clause does not include a library name
Nick Gasson [Thu, 30 Dec 2021 14:06:25 +0000 (22:06 +0800)]
Fix crash when use clause does not include a library name

2 years agoCorrect default class for procedure arguments
Nick Gasson [Thu, 30 Dec 2021 13:51:06 +0000 (21:51 +0800)]
Correct default class for procedure arguments

2 years agoEnable J-Core regression tests
Nick Gasson [Thu, 30 Dec 2021 03:49:32 +0000 (11:49 +0800)]
Enable J-Core regression tests

2 years agoFix crash with enum reference in binding generic map
Nick Gasson [Thu, 30 Dec 2021 03:29:26 +0000 (11:29 +0800)]
Fix crash with enum reference in binding generic map

2 years agoFix crashing assigning variable from record signal
Nick Gasson [Thu, 30 Dec 2021 03:09:30 +0000 (11:09 +0800)]
Fix crashing assigning variable from record signal

2 years agoAdd a distinct tree type for subtype declarations
Nick Gasson [Thu, 30 Dec 2021 02:43:39 +0000 (10:43 +0800)]
Add a distinct tree type for subtype declarations

2 years agoHandle null range when bounds checking array slices
Nick Gasson [Wed, 29 Dec 2021 12:58:55 +0000 (20:58 +0800)]
Handle null range when bounds checking array slices

2 years agoFix elaboration of "open" generic in binding specification
Nick Gasson [Wed, 29 Dec 2021 12:17:06 +0000 (20:17 +0800)]
Fix elaboration of "open" generic in binding specification

2 years agoAllow attributes of subtypes
Nick Gasson [Wed, 29 Dec 2021 11:51:08 +0000 (19:51 +0800)]
Allow attributes of subtypes

2 years agoFix crash when use clause is missing a library declaration
Nick Gasson [Sun, 26 Dec 2021 04:14:38 +0000 (12:14 +0800)]
Fix crash when use clause is missing a library declaration

2 years agoFix "GC removed all objects" crash
Nick Gasson [Sun, 26 Dec 2021 04:10:07 +0000 (12:10 +0800)]
Fix "GC removed all objects" crash

2 years agoFix error calling overloaded function with no arguments
Nick Gasson [Sun, 26 Dec 2021 03:24:23 +0000 (11:24 +0800)]
Fix error calling overloaded function with no arguments

2 years agoFix crash analysing protected types in VHDL-93 mode
Nick Gasson [Sun, 26 Dec 2021 02:35:19 +0000 (10:35 +0800)]
Fix crash analysing protected types in VHDL-93 mode

2 years agoFix for crash analysing OSVVM AlertLogPkg
Nick Gasson [Sun, 26 Dec 2021 02:23:09 +0000 (10:23 +0800)]
Fix for crash analysing OSVVM AlertLogPkg

2 years agoSimplify X.Y'RANGE where field Y has known bounds
Nick Gasson [Sat, 25 Dec 2021 14:21:43 +0000 (22:21 +0800)]
Simplify X.Y'RANGE where field Y has known bounds

2 years agoFix crash parsing configuration when earlier architecture had error
Nick Gasson [Sat, 25 Dec 2021 12:36:15 +0000 (20:36 +0800)]
Fix crash parsing configuration when earlier architecture had error

2 years agoFix crash with NVC_LOWER_VERBOSE environment variable
Nick Gasson [Sat, 25 Dec 2021 06:55:54 +0000 (14:55 +0800)]
Fix crash with NVC_LOWER_VERBOSE environment variable

2 years agoAdjust cgen_partition_jobs for better load balancing
Nick Gasson [Sat, 25 Dec 2021 04:00:16 +0000 (12:00 +0800)]
Adjust cgen_partition_jobs for better load balancing

2 years agoParallel code generation
Nick Gasson [Thu, 23 Dec 2021 09:17:02 +0000 (17:17 +0800)]
Parallel code generation

2 years agoAdd a utility to count the number of active processors
Nick Gasson [Fri, 24 Dec 2021 07:48:59 +0000 (15:48 +0800)]
Add a utility to count the number of active processors

2 years agoAdd a thread safe variant of istr
Nick Gasson [Fri, 24 Dec 2021 05:05:01 +0000 (13:05 +0800)]
Add a thread safe variant of istr

2 years agoAdd thread and mutex wrapper functions
Nick Gasson [Fri, 29 Oct 2021 02:53:57 +0000 (10:53 +0800)]
Add thread and mutex wrapper functions

2 years agoAdd a configure option to enable thread sanitizer
Nick Gasson [Wed, 27 Oct 2021 09:25:13 +0000 (17:25 +0800)]
Add a configure option to enable thread sanitizer

2 years agoAdd a string hash table type
Nick Gasson [Fri, 24 Dec 2021 04:44:13 +0000 (12:44 +0800)]
Add a string hash table type

2 years agoRemove old workaround for lack of CLOCK_MONOTONIC on OS X
Nick Gasson [Fri, 29 Oct 2021 14:44:38 +0000 (22:44 +0800)]
Remove old workaround for lack of CLOCK_MONOTONIC on OS X

2 years agoUse vcode closures to represent resolution functions
Nick Gasson [Fri, 24 Dec 2021 06:52:36 +0000 (14:52 +0800)]
Use vcode closures to represent resolution functions

2 years agoFix location information of elaborated blocks
Nick Gasson [Thu, 23 Dec 2021 10:21:05 +0000 (18:21 +0800)]
Fix location information of elaborated blocks

2 years agoFix unit tests with CK_FORK=no
Nick Gasson [Thu, 23 Dec 2021 08:58:01 +0000 (16:58 +0800)]
Fix unit tests with CK_FORK=no

2 years agoRename elaborated subprograms earlier to avoid collisions
Nick Gasson [Thu, 23 Dec 2021 08:48:33 +0000 (16:48 +0800)]
Rename elaborated subprograms earlier to avoid collisions

2 years agoAdd autoconf to MSYS2 dependencies
Nick Gasson [Thu, 23 Dec 2021 08:25:18 +0000 (16:25 +0800)]
Add autoconf to MSYS2 dependencies

2 years agoReplace lower_func with a new approach
Nick Gasson [Thu, 23 Dec 2021 07:50:03 +0000 (15:50 +0800)]
Replace lower_func with a new approach

2 years agoRemove the old eval module
Nick Gasson [Thu, 23 Dec 2021 06:24:38 +0000 (14:24 +0800)]
Remove the old eval module

2 years agoNew scheme for copying and remangling subprograms
Nick Gasson [Thu, 23 Dec 2021 05:18:49 +0000 (13:18 +0800)]
New scheme for copying and remangling subprograms

2 years agoFix various crashes in exec
Nick Gasson [Thu, 23 Dec 2021 04:24:06 +0000 (12:24 +0800)]
Fix various crashes in exec

2 years agoUse a single base type kind for all arrays
Nick Gasson [Wed, 22 Dec 2021 08:51:54 +0000 (16:51 +0800)]
Use a single base type kind for all arrays

2 years agoAdd a check for old version of library index
Nick Gasson [Wed, 22 Dec 2021 02:33:37 +0000 (10:33 +0800)]
Add a check for old version of library index

2 years agoImprove vcode serialisation efficiency
Nick Gasson [Tue, 21 Dec 2021 03:48:01 +0000 (11:48 +0800)]
Improve vcode serialisation efficiency

2 years agoUse Protobuf-style encoding for fbufs
Nick Gasson [Thu, 21 Oct 2021 14:09:45 +0000 (22:09 +0800)]
Use Protobuf-style encoding for fbufs

2 years agoIf-generate should create a block during elaboration
Nick Gasson [Mon, 20 Dec 2021 12:30:02 +0000 (20:30 +0800)]
If-generate should create a block during elaboration

2 years agoSurface contexts in vcode
Nick Gasson [Sun, 19 Dec 2021 14:36:52 +0000 (22:36 +0800)]
Surface contexts in vcode

2 years agoNew elaborated subprogram mangling scheme
Nick Gasson [Mon, 20 Dec 2021 05:40:56 +0000 (13:40 +0800)]
New elaborated subprogram mangling scheme

2 years agoUse -Wl,--dynamic-list to export symbols where possible
Nick Gasson [Sat, 18 Dec 2021 14:47:57 +0000 (22:47 +0800)]
Use -Wl,--dynamic-list to export symbols where possible

2 years agoFix corner case in textio READ for bit_vector
Nick Gasson [Sat, 18 Dec 2021 13:12:08 +0000 (21:12 +0800)]
Fix corner case in textio READ for bit_vector

2 years agoHandle nulls in textio READ procedures
Nick Gasson [Sat, 18 Dec 2021 13:07:20 +0000 (21:07 +0800)]
Handle nulls in textio READ procedures

2 years agoAdd VHDL-2008 FLUSH procedure
Nick Gasson [Sat, 18 Dec 2021 13:03:08 +0000 (21:03 +0800)]
Add VHDL-2008 FLUSH procedure

2 years agoFix corner case where declaration is visible multiple times through alias
Nick Gasson [Sat, 18 Dec 2021 12:40:03 +0000 (20:40 +0800)]
Fix corner case where declaration is visible multiple times through alias

2 years agoFix several bugs in array MINIMUM/MAXIMUM operators
Nick Gasson [Sat, 18 Dec 2021 10:35:28 +0000 (18:35 +0800)]
Fix several bugs in array MINIMUM/MAXIMUM operators

2 years agoAdd missing two-argument array MINIMUM/MAXIMUM
Nick Gasson [Sat, 18 Dec 2021 10:15:41 +0000 (18:15 +0800)]
Add missing two-argument array MINIMUM/MAXIMUM

2 years agoParse VHDL-2008 condition conversion operator
Nick Gasson [Sat, 18 Dec 2021 07:07:49 +0000 (15:07 +0800)]
Parse VHDL-2008 condition conversion operator

2 years agoFix unit test failure on Mac and Windows
Nick Gasson [Sat, 18 Dec 2021 07:23:52 +0000 (15:23 +0800)]
Fix unit test failure on Mac and Windows

2 years agoBetter error message when library not found
Nick Gasson [Sat, 18 Dec 2021 06:54:11 +0000 (14:54 +0800)]
Better error message when library not found

2 years agoFix OREAD/HREAD where length is not a multiple of 3/4
Nick Gasson [Sat, 18 Dec 2021 05:04:10 +0000 (13:04 +0800)]
Fix OREAD/HREAD where length is not a multiple of 3/4

2 years agoBe more strict about mixing units from different standards
Nick Gasson [Sat, 18 Dec 2021 04:10:51 +0000 (12:10 +0800)]
Be more strict about mixing units from different standards

2 years agoAdd HWRITE and OWRITE
Nick Gasson [Fri, 17 Dec 2021 14:23:59 +0000 (22:23 +0800)]
Add HWRITE and OWRITE

2 years agoAdd textio OREAD, HREAD, and SREAD
Nick Gasson [Fri, 17 Dec 2021 13:39:49 +0000 (21:39 +0800)]
Add textio OREAD, HREAD, and SREAD

2 years agoFix minor bugs in TO_STRING implementation
Nick Gasson [Fri, 17 Dec 2021 12:26:44 +0000 (20:26 +0800)]
Fix minor bugs in TO_STRING implementation

2 years agoFix bit shift with negative shift
Nick Gasson [Fri, 17 Dec 2021 06:16:37 +0000 (14:16 +0800)]
Fix bit shift with negative shift

2 years agoAdd matching inequality operators for arrays
Nick Gasson [Fri, 17 Dec 2021 05:43:52 +0000 (13:43 +0800)]
Add matching inequality operators for arrays

2 years agoStop inlining various VHDL-2008 builtins
Nick Gasson [Fri, 17 Dec 2021 04:19:11 +0000 (12:19 +0800)]
Stop inlining various VHDL-2008 builtins

2 years agoSimplify blocks with generic maps
Nick Gasson [Fri, 17 Dec 2021 02:25:27 +0000 (10:25 +0800)]
Simplify blocks with generic maps

2 years agoUse NVC_EOPT_VERBOSE to dump eopt data
Nick Gasson [Thu, 16 Dec 2021 13:45:09 +0000 (21:45 +0800)]
Use NVC_EOPT_VERBOSE to dump eopt data

2 years agoRemove unused arch field from elab_ctx_t
Nick Gasson [Thu, 16 Dec 2021 13:27:26 +0000 (21:27 +0800)]
Remove unused arch field from elab_ctx_t

2 years agoMinor optimisation to object_copy_mark
Nick Gasson [Thu, 16 Dec 2021 09:34:11 +0000 (17:34 +0800)]
Minor optimisation to object_copy_mark

2 years agoRemangle subprogram names while copying
Nick Gasson [Thu, 16 Dec 2021 04:45:33 +0000 (12:45 +0800)]
Remangle subprogram names while copying

2 years agoAdd configure option to disable building of VITAL packages
Nick Gasson [Wed, 15 Dec 2021 07:35:47 +0000 (15:35 +0800)]
Add configure option to disable building of VITAL packages

2 years agoNew implementation for array case statement
Nick Gasson [Wed, 15 Dec 2021 07:24:26 +0000 (15:24 +0800)]
New implementation for array case statement

2 years agoSlightly reduce the size of the check_bb_t struct
Nick Gasson [Tue, 14 Dec 2021 14:36:35 +0000 (22:36 +0800)]
Slightly reduce the size of the check_bb_t struct

2 years agoBuild and install VITAL_MEMORY package
Nick Gasson [Tue, 14 Dec 2021 10:43:57 +0000 (18:43 +0800)]
Build and install VITAL_MEMORY package

2 years agoDelete intermediate object file after linking
Nick Gasson [Tue, 14 Dec 2021 10:02:37 +0000 (18:02 +0800)]
Delete intermediate object file after linking

2 years agoAdd a performance test with a huge case statement
Nick Gasson [Tue, 14 Dec 2021 10:00:01 +0000 (18:00 +0800)]
Add a performance test with a huge case statement

2 years agoOptimise mod to rem when both arguments are non-negative
Nick Gasson [Tue, 14 Dec 2021 09:18:24 +0000 (17:18 +0800)]
Optimise mod to rem when both arguments are non-negative

2 years agoOptimise array comparison operator
Nick Gasson [Tue, 14 Dec 2021 09:10:49 +0000 (17:10 +0800)]
Optimise array comparison operator

2 years agoImplement bit vector operations in vcode
Nick Gasson [Tue, 14 Dec 2021 07:30:46 +0000 (15:30 +0800)]
Implement bit vector operations in vcode

2 years agoImplement bit shift entirely in vcode
Nick Gasson [Tue, 14 Dec 2021 07:08:15 +0000 (15:08 +0800)]
Implement bit shift entirely in vcode

2 years agoTidy up elaboration code
Nick Gasson [Tue, 14 Dec 2021 04:25:25 +0000 (12:25 +0800)]
Tidy up elaboration code

2 years agoImprove configuration parsing
Nick Gasson [Tue, 14 Dec 2021 04:10:54 +0000 (12:10 +0800)]
Improve configuration parsing

2 years agoFix output length for binary file read
Nick Gasson [Tue, 14 Dec 2021 02:33:30 +0000 (10:33 +0800)]
Fix output length for binary file read

2 years agoConvert TO_STRING to outline function
Nick Gasson [Mon, 13 Dec 2021 14:11:20 +0000 (22:11 +0800)]
Convert TO_STRING to outline function

2 years agoUse eight byte alignment for temporary stack allocations
Nick Gasson [Mon, 13 Dec 2021 13:28:13 +0000 (21:28 +0800)]
Use eight byte alignment for temporary stack allocations

2 years agoFix incorrectly returning pointer to stack allocated array
Nick Gasson [Mon, 13 Dec 2021 13:12:28 +0000 (21:12 +0800)]
Fix incorrectly returning pointer to stack allocated array

2 years agoFix predefined array comparison for multidimensional arrays
Nick Gasson [Mon, 13 Dec 2021 12:20:50 +0000 (20:20 +0800)]
Fix predefined array comparison for multidimensional arrays

2 years agoRemove vcode memcmp operation
Nick Gasson [Mon, 13 Dec 2021 10:40:46 +0000 (18:40 +0800)]
Remove vcode memcmp operation

2 years agoStop using vcode memcmp for array operators
Nick Gasson [Mon, 13 Dec 2021 09:41:19 +0000 (17:41 +0800)]
Stop using vcode memcmp for array operators

2 years agoShort-circuit record comparisons
Nick Gasson [Mon, 13 Dec 2021 07:10:25 +0000 (15:10 +0800)]
Short-circuit record comparisons

2 years agoDo not recursively inline array/record comparisons
Nick Gasson [Mon, 13 Dec 2021 07:02:28 +0000 (15:02 +0800)]
Do not recursively inline array/record comparisons

2 years agoRemove unused prefix field in sem scope scruct
Nick Gasson [Mon, 13 Dec 2021 06:56:12 +0000 (14:56 +0800)]
Remove unused prefix field in sem scope scruct

2 years agoNo not inline array and record "/=" operators
Nick Gasson [Mon, 13 Dec 2021 06:42:46 +0000 (14:42 +0800)]
No not inline array and record "/=" operators

2 years agoDo not inline array or record comparisons
Nick Gasson [Mon, 13 Dec 2021 05:40:27 +0000 (13:40 +0800)]
Do not inline array or record comparisons