]> git.nickg.me.uk Git - nvc.git/log
nvc.git
2 years agoUpdate for changes on master jit
Nick Gasson [Sat, 14 Nov 2020 06:00:36 +0000 (14:00 +0800)]
Update for changes on master

2 years agoAllocate stack frame on Arm64
Nick Gasson [Tue, 23 Oct 2018 04:22:33 +0000 (12:22 +0800)]
Allocate stack frame on Arm64

2 years agoFix Arm64
Nick Gasson [Mon, 1 Oct 2018 11:19:25 +0000 (19:19 +0800)]
Fix Arm64

2 years agoWIP allocating register to variable
Nick Gasson [Mon, 1 Oct 2018 11:14:00 +0000 (19:14 +0800)]
WIP allocating register to variable

2 years agoAdd a struct to store JIT var state
Nick Gasson [Sun, 30 Sep 2018 10:59:31 +0000 (18:59 +0800)]
Add a struct to store JIT var state

2 years agoReintroduce previous uarray op optimization
Nick Gasson [Sun, 30 Sep 2018 09:32:08 +0000 (17:32 +0800)]
Reintroduce previous uarray op optimization

2 years agoUse extended registers on x86_64
Nick Gasson [Sun, 30 Sep 2018 09:17:46 +0000 (17:17 +0800)]
Use extended registers on x86_64

2 years agoRemove last of the macros in x86 code
Nick Gasson [Sun, 30 Sep 2018 08:19:41 +0000 (16:19 +0800)]
Remove last of the macros in x86 code

2 years agoDo register allocation in jit-core
Nick Gasson [Fri, 28 Sep 2018 09:12:51 +0000 (17:12 +0800)]
Do register allocation in jit-core

2 years agoFix some bugs in load indirect handling
Nick Gasson [Fri, 28 Sep 2018 03:26:46 +0000 (11:26 +0800)]
Fix some bugs in load indirect handling

2 years agoSimplify register reuse
Nick Gasson [Thu, 27 Sep 2018 14:31:23 +0000 (22:31 +0800)]
Simplify register reuse

2 years agoadd1 test working on arm64
Nick Gasson [Thu, 27 Sep 2018 13:23:30 +0000 (21:23 +0800)]
add1 test working on arm64

2 years agoArm64 encodingx
Nick Gasson [Tue, 18 Sep 2018 10:01:57 +0000 (18:01 +0800)]
Arm64 encodingx

2 years agoVery basic JIT for Arm64
Nick Gasson [Sun, 16 Sep 2018 08:39:47 +0000 (16:39 +0800)]
Very basic JIT for Arm64

2 years agoVarious x86 performance improvements
Nick Gasson [Sat, 15 Sep 2018 13:18:59 +0000 (21:18 +0800)]
Various x86 performance improvements

2 years agoJIT for range null opcode
Nick Gasson [Sat, 15 Sep 2018 12:16:45 +0000 (20:16 +0800)]
JIT for range null opcode

2 years agoSpill in jit_op_cast
Nick Gasson [Sat, 15 Sep 2018 03:48:06 +0000 (11:48 +0800)]
Spill in jit_op_cast

2 years agoSave EBX on stack
Nick Gasson [Sat, 15 Sep 2018 02:18:00 +0000 (10:18 +0800)]
Save EBX on stack

2 years agoMove jit_op into arch specific file
Nick Gasson [Sat, 15 Sep 2018 02:03:26 +0000 (10:03 +0800)]
Move jit_op into arch specific file

2 years agoSmall optimisations to generated code
Nick Gasson [Thu, 13 Sep 2018 14:11:00 +0000 (22:11 +0800)]
Small optimisations to generated code

2 years agoFix test failures
Nick Gasson [Thu, 13 Sep 2018 03:08:45 +0000 (11:08 +0800)]
Fix test failures

2 years agoStart splitting out x86-specific bits of JIT
Nick Gasson [Thu, 13 Sep 2018 02:54:27 +0000 (10:54 +0800)]
Start splitting out x86-specific bits of JIT

2 years agoUse CMOVxx to improve select op speed
Nick Gasson [Thu, 16 Aug 2018 22:22:03 +0000 (23:22 +0100)]
Use CMOVxx to improve select op speed

2 years agoRemove more macros
Nick Gasson [Thu, 16 Aug 2018 21:35:26 +0000 (22:35 +0100)]
Remove more macros

2 years agoWork code generation for sum function
Nick Gasson [Thu, 16 Aug 2018 18:45:27 +0000 (19:45 +0100)]
Work code generation for sum function

2 years agoMore code generation improvements
Nick Gasson [Thu, 16 Aug 2018 11:36:10 +0000 (12:36 +0100)]
More code generation improvements

2 years agoSpill to stack
Nick Gasson [Mon, 13 Aug 2018 20:50:29 +0000 (21:50 +0100)]
Spill to stack

2 years agoPrefer storing objects on the stack to registers
Nick Gasson [Mon, 6 Aug 2018 17:49:42 +0000 (18:49 +0100)]
Prefer storing objects on the stack to registers

2 years agoMore improvements to cond generation
Nick Gasson [Fri, 3 Aug 2018 20:29:29 +0000 (21:29 +0100)]
More improvements to cond generation

2 years agoJIT for cmp
Nick Gasson [Fri, 3 Aug 2018 19:11:49 +0000 (20:11 +0100)]
JIT for cmp

2 years agoMore JIT for uarray ops
Nick Gasson [Fri, 3 Aug 2018 18:31:40 +0000 (19:31 +0100)]
More JIT for uarray ops

2 years agoBasic uarray parameters working
Nick Gasson [Fri, 3 Aug 2018 15:13:51 +0000 (16:13 +0100)]
Basic uarray parameters working

2 years agoAdd "sum" performance test
Nick Gasson [Wed, 1 Aug 2018 17:38:22 +0000 (18:38 +0100)]
Add "sum" performance test

2 years agoMake jit_perf optional
Nick Gasson [Wed, 25 Jul 2018 08:26:27 +0000 (09:26 +0100)]
Make jit_perf optional

2 years agoJIT for variables
Nick Gasson [Mon, 23 Jul 2018 07:50:18 +0000 (15:50 +0800)]
JIT for variables

2 years agoWorking JIT for factorial test
Nick Gasson [Mon, 23 Jul 2018 04:38:50 +0000 (12:38 +0800)]
Working JIT for factorial test

2 years agoFixes to jump code generation
Nick Gasson [Thu, 19 Jul 2018 04:29:20 +0000 (12:29 +0800)]
Fixes to jump code generation

2 years agoUse capstone for disassembly
Nick Gasson [Thu, 19 Jul 2018 03:54:52 +0000 (11:54 +0800)]
Use capstone for disassembly

2 years agoStart code generation for jumps
Nick Gasson [Thu, 19 Jul 2018 03:26:47 +0000 (11:26 +0800)]
Start code generation for jumps

2 years agoImplement load indirect
Nick Gasson [Wed, 18 Jul 2018 05:05:13 +0000 (13:05 +0800)]
Implement load indirect

2 years agoAdd JIT debugger
Nick Gasson [Wed, 18 Jul 2018 04:50:55 +0000 (12:50 +0800)]
Add JIT debugger

2 years agoImplement load indirect operator
Nick Gasson [Wed, 18 Jul 2018 02:48:53 +0000 (10:48 +0800)]
Implement load indirect operator

2 years agoRegister allocation optimisation
Nick Gasson [Tue, 17 Jul 2018 06:21:18 +0000 (14:21 +0800)]
Register allocation optimisation

2 years agoRejig register allocation
Nick Gasson [Tue, 17 Jul 2018 04:10:04 +0000 (12:10 +0800)]
Rejig register allocation

2 years agoRename jit-x86_64 to jit-x86
Nick Gasson [Mon, 16 Jul 2018 05:28:20 +0000 (13:28 +0800)]
Rename jit-x86_64 to jit-x86

2 years agoAllocate stack frame
Nick Gasson [Mon, 16 Jul 2018 02:53:31 +0000 (10:53 +0800)]
Allocate stack frame

2 years agoFix crash when opcode has not JIT pointer
Nick Gasson [Sat, 7 Jul 2018 04:38:27 +0000 (12:38 +0800)]
Fix crash when opcode has not JIT pointer

2 years agoInterleave vcode and JIT dump
Nick Gasson [Sat, 7 Jul 2018 04:33:03 +0000 (12:33 +0800)]
Interleave vcode and JIT dump

2 years agoAdd loop test case
Nick Gasson [Sat, 23 Jun 2018 05:32:48 +0000 (13:32 +0800)]
Add loop test case

2 years agoJIT working for a very simple test case
Nick Gasson [Mon, 18 Jun 2018 10:10:02 +0000 (18:10 +0800)]
JIT working for a very simple test case

2 years agoAdd a very basic x86_64 JIT
Nick Gasson [Mon, 18 Jun 2018 08:36:36 +0000 (16:36 +0800)]
Add a very basic x86_64 JIT

2 years agoOptimise loading large library index from disk
Nick Gasson [Fri, 25 Jun 2021 09:52:47 +0000 (17:52 +0800)]
Optimise loading large library index from disk

2 years agoTry to open lock file read-write if possible. Issue #417
Nick Gasson [Thu, 24 Jun 2021 15:05:39 +0000 (23:05 +0800)]
Try to open lock file read-write if possible. Issue #417

2 years agoUpdate README
Nick Gasson [Mon, 21 Jun 2021 13:59:18 +0000 (21:59 +0800)]
Update README

More README updates

2 years agoFix Windows build
Nick Gasson [Mon, 14 Jun 2021 10:55:56 +0000 (18:55 +0800)]
Fix Windows build

2 years agoDo not distinguish trees and types in objects
Nick Gasson [Mon, 14 Jun 2021 10:47:21 +0000 (18:47 +0800)]
Do not distinguish trees and types in objects

2 years agoRemove redundant tree_change_range
Nick Gasson [Sun, 13 Jun 2021 10:50:10 +0000 (18:50 +0800)]
Remove redundant tree_change_range

2 years agoFix error elaborating type conversion in port map
Nick Gasson [Sun, 13 Jun 2021 10:40:52 +0000 (18:40 +0800)]
Fix error elaborating type conversion in port map

2 years agoFix invalid LLVM when wait delay loaded from record
Nick Gasson [Sun, 13 Jun 2021 09:46:11 +0000 (17:46 +0800)]
Fix invalid LLVM when wait delay loaded from record

2 years agoFix error parsing component instantiation with selected name
Nick Gasson [Sun, 13 Jun 2021 09:22:21 +0000 (17:22 +0800)]
Fix error parsing component instantiation with selected name

2 years agoAdd GitHub Actions testing of external projects
Nick Gasson [Sun, 13 Jun 2021 06:40:40 +0000 (14:40 +0800)]
Add GitHub Actions testing of external projects

2 years agoRun VESTs in GitHub Actions
Nick Gasson [Sun, 13 Jun 2021 04:27:34 +0000 (12:27 +0800)]
Run VESTs in GitHub Actions

2 years agoFix vests1 failure with LLVM debug build
Nick Gasson [Sun, 13 Jun 2021 04:03:25 +0000 (12:03 +0800)]
Fix vests1 failure with LLVM debug build

2 years agoFix regression of slice4 test
Nick Gasson [Sat, 12 Jun 2021 13:25:28 +0000 (21:25 +0800)]
Fix regression of slice4 test

2 years agoUpdate IEEE dependencies
Nick Gasson [Sat, 12 Jun 2021 13:21:17 +0000 (21:21 +0800)]
Update IEEE dependencies

2 years agoRemove reference to VHDL-2008 support library
Nick Gasson [Sat, 12 Jun 2021 13:00:08 +0000 (21:00 +0800)]
Remove reference to VHDL-2008 support library

2 years agoFix some more crashes while running VESTS
Nick Gasson [Sat, 12 Jun 2021 12:58:47 +0000 (20:58 +0800)]
Fix some more crashes while running VESTS

2 years agoFix some bugs found from VESTS case tc520.vhd
Nick Gasson [Sat, 12 Jun 2021 12:45:57 +0000 (20:45 +0800)]
Fix some bugs found from VESTS case tc520.vhd

2 years agoFix bug in parsing of discrete range
Nick Gasson [Sat, 12 Jun 2021 11:16:02 +0000 (19:16 +0800)]
Fix bug in parsing of discrete range

2 years agoOnly print linker command line on failure
Nick Gasson [Sat, 12 Jun 2021 11:05:51 +0000 (19:05 +0800)]
Only print linker command line on failure

2 years agoFix parsing to type conversion with selected name
Nick Gasson [Sat, 12 Jun 2021 10:56:14 +0000 (18:56 +0800)]
Fix parsing to type conversion with selected name

2 years agoFix assertion failure lowering integer to real cast
Nick Gasson [Sat, 12 Jun 2021 08:02:42 +0000 (16:02 +0800)]
Fix assertion failure lowering integer to real cast

2 years agoFix parsing alias of enumeration literal with signature
Nick Gasson [Sat, 12 Jun 2021 07:41:09 +0000 (15:41 +0800)]
Fix parsing alias of enumeration literal with signature

2 years agoUse lower_range_left in lower_unalias_index
Nick Gasson [Sat, 12 Jun 2021 06:31:30 +0000 (14:31 +0800)]
Use lower_range_left in lower_unalias_index

2 years agoFix some more visibility corner cases
Nick Gasson [Sat, 12 Jun 2021 06:30:24 +0000 (14:30 +0800)]
Fix some more visibility corner cases

2 years agoBuild and intsall IEEE.NUMERIC_STD_UNSIGNED
Nick Gasson [Fri, 11 Jun 2021 14:16:13 +0000 (22:16 +0800)]
Build and intsall IEEE.NUMERIC_STD_UNSIGNED

2 years agoMissing MINIMUM and MAXIMUM for physical types
Nick Gasson [Fri, 11 Jun 2021 13:22:18 +0000 (21:22 +0800)]
Missing MINIMUM and MAXIMUM for physical types

2 years agoBuild and install IEEE.STD_LOGIC_TEXTIO
Nick Gasson [Fri, 11 Jun 2021 13:20:16 +0000 (21:20 +0800)]
Build and install IEEE.STD_LOGIC_TEXTIO

2 years agoFix type mix-up in to_string lowering
Nick Gasson [Fri, 11 Jun 2021 13:14:46 +0000 (21:14 +0800)]
Fix type mix-up in to_string lowering

2 years agoFix bug resolving overloads in protected type
Nick Gasson [Fri, 11 Jun 2021 12:57:03 +0000 (20:57 +0800)]
Fix bug resolving overloads in protected type

2 years agoAdd support for aggregate variable assignment
Nick Gasson [Fri, 11 Jun 2021 08:01:14 +0000 (16:01 +0800)]
Add support for aggregate variable assignment

2 years agoMerge miscellaneous tests into test_misc.c
Nick Gasson [Fri, 11 Jun 2021 03:30:37 +0000 (11:30 +0800)]
Merge miscellaneous tests into test_misc.c

2 years agoFix access1 test failure with LLVM asserts enabled
Nick Gasson [Fri, 11 Jun 2021 02:27:08 +0000 (10:27 +0800)]
Fix access1 test failure with LLVM asserts enabled

2 years agoFix VHDL stack traces on Windows
Nick Gasson [Fri, 11 Jun 2021 03:16:00 +0000 (11:16 +0800)]
Fix VHDL stack traces on Windows

2 years agoFix debug tests on macOS
Nick Gasson [Thu, 10 Jun 2021 11:57:33 +0000 (19:57 +0800)]
Fix debug tests on macOS

2 years agoSimplify debug traces on systems with DWARF support
Nick Gasson [Thu, 10 Jun 2021 11:41:25 +0000 (19:41 +0800)]
Simplify debug traces on systems with DWARF support

2 years agoImprove stacktraces without DWARF support
Nick Gasson [Thu, 10 Jun 2021 11:20:15 +0000 (19:20 +0800)]
Improve stacktraces without DWARF support

2 years agoOptimise error message printing
Nick Gasson [Thu, 10 Jun 2021 08:39:30 +0000 (16:39 +0800)]
Optimise error message printing

2 years agoFix Windows and macOS builds
Nick Gasson [Thu, 10 Jun 2021 03:22:20 +0000 (11:22 +0800)]
Fix Windows and macOS builds

2 years agoFix a potential memory leak in textio readline
Nick Gasson [Thu, 10 Jun 2021 03:22:03 +0000 (11:22 +0800)]
Fix a potential memory leak in textio readline

2 years agoAdd an LRU cache to improve debug backtrace performance
Nick Gasson [Thu, 10 Jun 2021 03:14:24 +0000 (11:14 +0800)]
Add an LRU cache to improve debug backtrace performance

2 years agoFix access6 test case failure
Nick Gasson [Thu, 10 Jun 2021 01:29:21 +0000 (09:29 +0800)]
Fix access6 test case failure

2 years agoImprove runtime stack trace formatting
Nick Gasson [Wed, 9 Jun 2021 14:51:22 +0000 (22:51 +0800)]
Improve runtime stack trace formatting

2 years agoAdd VHDL-2008 INTEGER_VECTOR, etc.
Nick Gasson [Wed, 9 Jun 2021 09:12:44 +0000 (17:12 +0800)]
Add VHDL-2008 INTEGER_VECTOR, etc.

2 years agoFix error with protected type visiblity
Nick Gasson [Wed, 9 Jun 2021 09:08:47 +0000 (17:08 +0800)]
Fix error with protected type visiblity

2 years agoFix spurious error with overloaded function and procedure
Nick Gasson [Wed, 9 Jun 2021 08:46:16 +0000 (16:46 +0800)]
Fix spurious error with overloaded function and procedure

2 years agoFix garbled output with unprintable characters in source code
Nick Gasson [Wed, 9 Jun 2021 08:34:25 +0000 (16:34 +0800)]
Fix garbled output with unprintable characters in source code

2 years agoAdd textio justify function
Nick Gasson [Wed, 9 Jun 2021 08:23:24 +0000 (16:23 +0800)]
Add textio justify function

2 years agoFix unit test failures on Windows
Nick Gasson [Wed, 9 Jun 2021 03:50:19 +0000 (11:50 +0800)]
Fix unit test failures on Windows

2 years agoFix misleading error during option parsing
Nick Gasson [Wed, 9 Jun 2021 03:09:06 +0000 (11:09 +0800)]
Fix misleading error during option parsing