]> git.nickg.me.uk Git - nvc.git/log
nvc.git
2 years agoUnit test fixes lower-arch
Nick Gasson [Wed, 22 Dec 2021 11:34:43 +0000 (19:34 +0800)]
Unit test fixes

2 years agoHack hack hack
Nick Gasson [Wed, 22 Dec 2021 11:18:32 +0000 (19:18 +0800)]
Hack hack hack

2 years agoEgregious copy and paste
Nick Gasson [Wed, 22 Dec 2021 05:38:26 +0000 (13:38 +0800)]
Egregious copy and paste

2 years agoMore skeletons
Nick Gasson [Wed, 22 Dec 2021 03:58:26 +0000 (11:58 +0800)]
More skeletons

2 years agoIntroduce skeletons
Nick Gasson [Wed, 22 Dec 2021 02:22:10 +0000 (10:22 +0800)]
Introduce skeletons

2 years agoNew subprogram mangling
Nick Gasson [Tue, 21 Dec 2021 12:40:41 +0000 (20:40 +0800)]
New subprogram mangling

2 years agoHack a bit more
Nick Gasson [Tue, 21 Dec 2021 12:12:45 +0000 (20:12 +0800)]
Hack a bit more

2 years agoHack some more
Nick Gasson [Tue, 21 Dec 2021 02:37:00 +0000 (10:37 +0800)]
Hack some more

2 years agoMore hacking
Nick Gasson [Tue, 21 Dec 2021 02:16:10 +0000 (10:16 +0800)]
More hacking

2 years agoAbortive attempt at lowering architectures
Nick Gasson [Mon, 20 Dec 2021 13:18:53 +0000 (21:18 +0800)]
Abortive attempt at lowering architectures

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

2 years agoFix visibility of package components in configurations
Nick Gasson [Sun, 12 Dec 2021 15:06:32 +0000 (23:06 +0800)]
Fix visibility of package components in configurations

2 years agoParsing for group templates and declarations
Nick Gasson [Sun, 12 Dec 2021 07:29:13 +0000 (15:29 +0800)]
Parsing for group templates and declarations

2 years agoFix corner case with aggregate output conversions
Nick Gasson [Sun, 12 Dec 2021 06:09:14 +0000 (14:09 +0800)]
Fix corner case with aggregate output conversions

2 years agoParsing and checking for disconnection specifications
Nick Gasson [Sun, 12 Dec 2021 03:53:18 +0000 (11:53 +0800)]
Parsing and checking for disconnection specifications

2 years agoRuntime support for guarded signals
Nick Gasson [Sat, 11 Dec 2021 14:51:37 +0000 (22:51 +0800)]
Runtime support for guarded signals

2 years agoParsing and checking for guarded signals
Nick Gasson [Sat, 11 Dec 2021 13:51:10 +0000 (21:51 +0800)]
Parsing and checking for guarded signals

2 years agoRuntime support for implicit guard signals
Nick Gasson [Sat, 11 Dec 2021 09:06:04 +0000 (17:06 +0800)]
Runtime support for implicit guard signals

2 years agoFlatten representation of rt_signal_t
Nick Gasson [Sat, 11 Dec 2021 08:37:33 +0000 (16:37 +0800)]
Flatten representation of rt_signal_t

2 years agoRepresent implicit signals in eopt
Nick Gasson [Sat, 11 Dec 2021 08:23:52 +0000 (16:23 +0800)]
Represent implicit signals in eopt

2 years agoAdd a separate vcode op for static scheduling
Nick Gasson [Sat, 11 Dec 2021 07:34:02 +0000 (15:34 +0800)]
Add a separate vcode op for static scheduling

2 years agoKeep track of static triggers in eopt
Nick Gasson [Sat, 11 Dec 2021 07:22:26 +0000 (15:22 +0800)]
Keep track of static triggers in eopt

2 years agoUse rt_wakeable_t for watches
Nick Gasson [Sat, 11 Dec 2021 04:11:11 +0000 (12:11 +0800)]
Use rt_wakeable_t for watches

2 years agoIntroduce rt_wakeable_t
Nick Gasson [Sat, 11 Dec 2021 03:28:00 +0000 (11:28 +0800)]
Introduce rt_wakeable_t

2 years agoLowering for guard expression
Nick Gasson [Sat, 11 Dec 2021 03:26:05 +0000 (11:26 +0800)]
Lowering for guard expression

2 years agoIntroduce std_func() helper function
Nick Gasson [Fri, 10 Dec 2021 13:04:51 +0000 (21:04 +0800)]
Introduce std_func() helper function

2 years agoAdd VHDL-2008 delimited comments
Nick Gasson [Fri, 10 Dec 2021 10:12:47 +0000 (18:12 +0800)]
Add VHDL-2008 delimited comments

2 years agoImprove checking for guarded signal assignments
Nick Gasson [Fri, 10 Dec 2021 09:35:49 +0000 (17:35 +0800)]
Improve checking for guarded signal assignments

2 years agoParse guard expressions on blocks
Nick Gasson [Fri, 10 Dec 2021 07:35:32 +0000 (15:35 +0800)]
Parse guard expressions on blocks

2 years agoEnable folding for globally static deferred constants
Nick Gasson [Fri, 10 Dec 2021 05:09:32 +0000 (13:09 +0800)]
Enable folding for globally static deferred constants

2 years agoFix length calculation when evaluating "wrap" operator
Nick Gasson [Fri, 10 Dec 2021 04:59:25 +0000 (12:59 +0800)]
Fix length calculation when evaluating "wrap" operator

2 years agoEvaluation for some known runtime functions
Nick Gasson [Fri, 10 Dec 2021 04:34:45 +0000 (12:34 +0800)]
Evaluation for some known runtime functions

2 years agoFix GitHub Actions test failures
Nick Gasson [Fri, 10 Dec 2021 02:57:13 +0000 (10:57 +0800)]
Fix GitHub Actions test failures

2 years agoFix folding of functions declared in entity declarative region
Nick Gasson [Thu, 9 Dec 2021 14:36:39 +0000 (22:36 +0800)]
Fix folding of functions declared in entity declarative region

2 years agoSplit simplify phase into local and global folding variants
Nick Gasson [Thu, 9 Dec 2021 14:03:02 +0000 (22:03 +0800)]
Split simplify phase into local and global folding variants

2 years agoUse a single exec_t instance per call to simp()
Nick Gasson [Wed, 8 Dec 2021 03:06:41 +0000 (11:06 +0800)]
Use a single exec_t instance per call to simp()

2 years agoUse "link var" to reference signals in packages
Nick Gasson [Tue, 7 Dec 2021 13:35:07 +0000 (21:35 +0800)]
Use "link var" to reference signals in packages

2 years agoNo need to call eval from assume_int
Nick Gasson [Tue, 7 Dec 2021 07:34:20 +0000 (15:34 +0800)]
No need to call eval from assume_int

2 years agoNew exec module to replace vcode evaluator
Nick Gasson [Sun, 5 Dec 2021 03:20:04 +0000 (11:20 +0800)]
New exec module to replace vcode evaluator

2 years agoUse object arena to keep track of dependencies
Nick Gasson [Fri, 3 Dec 2021 06:39:23 +0000 (14:39 +0800)]
Use object arena to keep track of dependencies

2 years agoRemove VCODE_OP_IMAGE and image maps
Nick Gasson [Sun, 28 Nov 2021 12:48:08 +0000 (20:48 +0800)]
Remove VCODE_OP_IMAGE and image maps

2 years agoUse image helper function for TO_STRING
Nick Gasson [Sun, 28 Nov 2021 12:27:53 +0000 (20:27 +0800)]
Use image helper function for TO_STRING

2 years agoRemove dedicated vcode opcode for 'VALUE
Nick Gasson [Sun, 28 Nov 2021 09:12:38 +0000 (17:12 +0800)]
Remove dedicated vcode opcode for 'VALUE

2 years agoLower 'VALUE attribute directly in vcode
Nick Gasson [Sun, 28 Nov 2021 08:50:42 +0000 (16:50 +0800)]
Lower 'VALUE attribute directly in vcode

2 years agoLower physical/enum 'IMAGE directly in vcode
Nick Gasson [Sun, 28 Nov 2021 03:37:50 +0000 (11:37 +0800)]
Lower physical/enum 'IMAGE directly in vcode

2 years agoUse vcode variables to store procedure arguments
Nick Gasson [Sat, 27 Nov 2021 13:43:06 +0000 (21:43 +0800)]
Use vcode variables to store procedure arguments

2 years agoRemove param upref vcode op
Nick Gasson [Sat, 27 Nov 2021 13:22:14 +0000 (21:22 +0800)]
Remove param upref vcode op