]> git.nickg.me.uk Git - nvc.git/log
nvc.git
15 months agoUpdates for 1.8 release r1.8.0
Nick Gasson [Sun, 22 Jan 2023 11:47:52 +0000 (11:47 +0000)]
Updates for 1.8 release

15 months agoUpdate THANKS.md
Nick Gasson [Sun, 22 Jan 2023 11:07:42 +0000 (11:07 +0000)]
Update THANKS.md

15 months agoReplace --make with --print-deps
Nick Gasson [Sun, 22 Jan 2023 11:03:31 +0000 (11:03 +0000)]
Replace --make with --print-deps

15 months agoOption not to report covered, uncovered or excluded tags. (#598)
Blebowski [Sun, 22 Jan 2023 11:01:40 +0000 (12:01 +0100)]
Option not to report covered, uncovered or excluded tags. (#598)

15 months agoMissing predefined exponentiation operator for universal_integer. Issue #592
Nick Gasson [Wed, 18 Jan 2023 21:37:32 +0000 (21:37 +0000)]
Missing predefined exponentiation operator for universal_integer. Issue #592

15 months agoCoverage exclude support (#588)
Blebowski [Fri, 20 Jan 2023 21:28:53 +0000 (22:28 +0100)]
Coverage exclude support (#588)

15 months agoFix build warnings on Ubuntu and Windows. Fixes #594
Nick Gasson [Wed, 18 Jan 2023 20:49:17 +0000 (20:49 +0000)]
Fix build warnings on Ubuntu and Windows. Fixes #594

15 months agoValues not propagated through port map aggregate actual. Fixes #595
Nick Gasson [Wed, 18 Jan 2023 20:10:59 +0000 (20:10 +0000)]
Values not propagated through port map aggregate actual. Fixes #595

15 months agoFix crash with aggregate containing concatenated arrays. Issue #591
Nick Gasson [Mon, 16 Jan 2023 20:11:50 +0000 (20:11 +0000)]
Fix crash with aggregate containing concatenated arrays. Issue #591

15 months agoBuffer too small for printing TIME'LOW. Fixes #590
Nick Gasson [Mon, 16 Jan 2023 19:59:03 +0000 (19:59 +0000)]
Buffer too small for printing TIME'LOW. Fixes #590

15 months agoFix mangling of protected type arguments. Issue #589
Nick Gasson [Mon, 16 Jan 2023 19:04:08 +0000 (19:04 +0000)]
Fix mangling of protected type arguments. Issue #589

15 months agoGet rid of last users of rt_alloc_stack
Nick Gasson [Mon, 16 Jan 2023 18:35:55 +0000 (18:35 +0000)]
Get rid of last users of rt_alloc_stack

15 months agoUse tagged pointers instead of structs for simulation events
Nick Gasson [Mon, 16 Jan 2023 18:27:56 +0000 (18:27 +0000)]
Use tagged pointers instead of structs for simulation events

15 months agoAdd stubs for multi-threaded runtime
Nick Gasson [Sun, 15 Jan 2023 22:24:18 +0000 (22:24 +0000)]
Add stubs for multi-threaded runtime

15 months agoImport getline from Gnulib
Nick Gasson [Sun, 15 Jan 2023 21:23:49 +0000 (21:23 +0000)]
Import getline from Gnulib

15 months agoAvoid use of global state in mspace_suspend_cb
Nick Gasson [Sun, 15 Jan 2023 17:41:07 +0000 (17:41 +0000)]
Avoid use of global state in mspace_suspend_cb

15 months agoMake mspace_gc thread-safe
Nick Gasson [Sun, 15 Jan 2023 12:00:47 +0000 (12:00 +0000)]
Make mspace_gc thread-safe

15 months agoAdd functions for suspending and resuming all threads
Nick Gasson [Sun, 15 Jan 2023 11:03:12 +0000 (11:03 +0000)]
Add functions for suspending and resuming all threads

15 months agoFix access8 test failure when using JIT code generator
Nick Gasson [Sun, 15 Jan 2023 11:04:12 +0000 (11:04 +0000)]
Fix access8 test failure when using JIT code generator

15 months agoImplement coverage ops in JIT
Nick Gasson [Wed, 11 Jan 2023 22:09:11 +0000 (22:09 +0000)]
Implement coverage ops in JIT

15 months agoJIT logical operators are always bitwise
Nick Gasson [Wed, 11 Jan 2023 21:17:19 +0000 (21:17 +0000)]
JIT logical operators are always bitwise

15 months agoAllow + as coverage type separator in testlist.txt
Nick Gasson [Mon, 9 Jan 2023 18:44:19 +0000 (18:44 +0000)]
Allow + as coverage type separator in testlist.txt

15 months agoRewrite Windows stack trace code using RtlVirtualUnwind
Nick Gasson [Sun, 8 Jan 2023 18:34:43 +0000 (18:34 +0000)]
Rewrite Windows stack trace code using RtlVirtualUnwind

15 months agoVarious fixes for cross-compiling for Windows on Linux
Nick Gasson [Sun, 8 Jan 2023 16:40:36 +0000 (16:40 +0000)]
Various fixes for cross-compiling for Windows on Linux

15 months agoFix handling of callee saved registers on Windows
Nick Gasson [Sun, 8 Jan 2023 15:42:16 +0000 (15:42 +0000)]
Fix handling of callee saved registers on Windows

15 months agoAdd expression coverage on std_logic logic ops (#584)
Blebowski [Sun, 8 Jan 2023 22:24:34 +0000 (23:24 +0100)]
Add expression coverage on std_logic logic ops (#584)

15 months agoReplace ignore-mems coverage option with include-mems (#587)
Blebowski [Sun, 8 Jan 2023 21:52:40 +0000 (22:52 +0100)]
Replace ignore-mems coverage option with include-mems (#587)

15 months agoWrite Linux perf map for JIT code
Nick Gasson [Sat, 7 Jan 2023 21:12:56 +0000 (21:12 +0000)]
Write Linux perf map for JIT code

15 months agoRename src/opt.c to src/option.c
Nick Gasson [Sat, 7 Jan 2023 20:53:17 +0000 (20:53 +0000)]
Rename src/opt.c to src/option.c

15 months agoImplement XOR operator in X86 backend
Nick Gasson [Sat, 7 Jan 2023 20:41:49 +0000 (20:41 +0000)]
Implement XOR operator in X86 backend

15 months agoFix crash storing XMM result register
Nick Gasson [Sat, 7 Jan 2023 20:36:02 +0000 (20:36 +0000)]
Fix crash storing XMM result register

15 months agoImplement $FEXP in x86 backend
Nick Gasson [Sat, 7 Jan 2023 17:31:20 +0000 (17:31 +0000)]
Implement $FEXP in x86 backend

15 months agoImplement float/integer conversions in x86 backend
Nick Gasson [Sat, 7 Jan 2023 15:14:23 +0000 (15:14 +0000)]
Implement float/integer conversions in x86 backend

15 months agoOptimised updates for simple drivers
Nick Gasson [Sat, 7 Jan 2023 14:23:58 +0000 (14:23 +0000)]
Optimised updates for simple drivers

15 months agoAdd relocation system for AOT compiled code
Nick Gasson [Thu, 5 Jan 2023 21:02:39 +0000 (21:02 +0000)]
Add relocation system for AOT compiled code

15 months agoImprove work queue scalability
Nick Gasson [Fri, 6 Jan 2023 19:43:20 +0000 (19:43 +0000)]
Improve work queue scalability

16 months agoMake DWARF debug info optional in LLVM JIT backend
Nick Gasson [Mon, 2 Jan 2023 21:54:20 +0000 (21:54 +0000)]
Make DWARF debug info optional in LLVM JIT backend

16 months agoUse new LLVM pass manager API with LLVM 13.0 and later
Nick Gasson [Mon, 2 Jan 2023 21:25:13 +0000 (21:25 +0000)]
Use new LLVM pass manager API with LLVM 13.0 and later

16 months agoImplement more floating point operations in the X86 backend
Nick Gasson [Sun, 1 Jan 2023 20:58:12 +0000 (20:58 +0000)]
Implement more floating point operations in the X86 backend

16 months agoImplement FADD and FMUL in x86 backend
Nick Gasson [Sun, 1 Jan 2023 15:41:29 +0000 (15:41 +0000)]
Implement FADD and FMUL in x86 backend

16 months agoStore variable names with offsets
Nick Gasson [Sun, 1 Jan 2023 11:40:27 +0000 (11:40 +0000)]
Store variable names with offsets

16 months agoUse all available memory in the code cache
Nick Gasson [Sun, 1 Jan 2023 10:21:48 +0000 (10:21 +0000)]
Use all available memory in the code cache

16 months agoOptimise $EXP to $SHL for powers-of-2
Nick Gasson [Sun, 1 Jan 2023 10:15:46 +0000 (10:15 +0000)]
Optimise $EXP to $SHL for powers-of-2

16 months agoElaboration support for case generate. Issue #585
Nick Gasson [Sat, 31 Dec 2022 20:33:35 +0000 (20:33 +0000)]
Elaboration support for case generate. Issue #585

16 months agoAllocate from TLAB in x86 JIT
Nick Gasson [Sat, 31 Dec 2022 18:20:28 +0000 (18:20 +0000)]
Allocate from TLAB in x86 JIT

16 months agoUse $CASE opcode to implement process jump table
Nick Gasson [Sat, 31 Dec 2022 17:31:32 +0000 (17:31 +0000)]
Use $CASE opcode to implement process jump table

16 months agoImplement $EXP opcode in x86 backend
Nick Gasson [Sat, 31 Dec 2022 16:20:20 +0000 (16:20 +0000)]
Implement $EXP opcode in x86 backend

16 months agoEmit x86 epilogue code only once
Nick Gasson [Sat, 31 Dec 2022 15:01:29 +0000 (15:01 +0000)]
Emit x86 epilogue code only once

16 months agoImplement $CASE opcode in x86 backend
Nick Gasson [Sat, 31 Dec 2022 14:52:28 +0000 (14:52 +0000)]
Implement $CASE opcode in x86 backend

16 months agoProper allocator for JIT code buffers
Nick Gasson [Sat, 31 Dec 2022 12:18:06 +0000 (12:18 +0000)]
Proper allocator for JIT code buffers

16 months agoStore result of $GETPRIV macro
Nick Gasson [Sat, 31 Dec 2022 10:50:26 +0000 (10:50 +0000)]
Store result of $GETPRIV macro

16 months agoFix broken stack trace when multiple threads crash at once
Nick Gasson [Fri, 30 Dec 2022 10:21:22 +0000 (10:21 +0000)]
Fix broken stack trace when multiple threads crash at once

16 months agoFix race in jit_fill_irbuf
Nick Gasson [Fri, 30 Dec 2022 10:08:55 +0000 (10:08 +0000)]
Fix race in jit_fill_irbuf

16 months agoChecking and simplification for case generate. Issue #585
Nick Gasson [Wed, 28 Dec 2022 18:47:48 +0000 (18:47 +0000)]
Checking and simplification for case generate. Issue #585

16 months agoFix crash in steal_task
Nick Gasson [Wed, 28 Dec 2022 17:58:44 +0000 (17:58 +0000)]
Fix crash in steal_task

16 months agoRefactor representation of case statement alternatives
Nick Gasson [Wed, 28 Dec 2022 14:03:11 +0000 (14:03 +0000)]
Refactor representation of case statement alternatives

16 months agoFix x86 load from constant pool
Nick Gasson [Tue, 27 Dec 2022 21:28:50 +0000 (21:28 +0000)]
Fix x86 load from constant pool

16 months agoImplement $GALLOC in x86 backend
Nick Gasson [Tue, 27 Dec 2022 17:54:12 +0000 (17:54 +0000)]
Implement $GALLOC in x86 backend

16 months agoAsynchronous JIT code generation
Nick Gasson [Tue, 27 Dec 2022 14:47:58 +0000 (14:47 +0000)]
Asynchronous JIT code generation

16 months agoImplement $FFICALL in x86 backend
Nick Gasson [Tue, 27 Dec 2022 12:08:23 +0000 (12:08 +0000)]
Implement $FFICALL in x86 backend

16 months agoImplement $PUTPRIV and fix branch distance calculation
Nick Gasson [Tue, 27 Dec 2022 11:57:51 +0000 (11:57 +0000)]
Implement $PUTPRIV and fix branch distance calculation

16 months agoImplement CLAMP and CNEG in x86 backend
Nick Gasson [Tue, 27 Dec 2022 11:43:46 +0000 (11:43 +0000)]
Implement CLAMP and CNEG in x86 backend

16 months agoDelete NOPs after JIT optimisation
Nick Gasson [Tue, 27 Dec 2022 10:56:54 +0000 (10:56 +0000)]
Delete NOPs after JIT optimisation

16 months agoAdd a very simple dead code elimination pass
Nick Gasson [Tue, 27 Dec 2022 10:40:50 +0000 (10:40 +0000)]
Add a very simple dead code elimination pass

16 months agoSimple copy propagation optimisation
Nick Gasson [Tue, 27 Dec 2022 10:26:48 +0000 (10:26 +0000)]
Simple copy propagation optimisation

16 months agoAdd AVX2 Adler32 checksum implementation
Nick Gasson [Sun, 21 Aug 2022 09:07:40 +0000 (10:07 +0100)]
Add AVX2 Adler32 checksum implementation

16 months agoNew mechanism to serialise JIT bytecode
Nick Gasson [Sat, 24 Dec 2022 16:32:48 +0000 (16:32 +0000)]
New mechanism to serialise JIT bytecode

16 months agoImplement AND/OR/NOT opcodes in x86 backend
Nick Gasson [Sun, 25 Dec 2022 17:52:09 +0000 (17:52 +0000)]
Implement AND/OR/NOT opcodes in x86 backend

16 months agoImplement $LALLOC in x86 backend
Nick Gasson [Sat, 24 Dec 2022 22:16:05 +0000 (22:16 +0000)]
Implement $LALLOC in x86 backend

16 months agoFix outgoing stack alignment
Nick Gasson [Sat, 24 Dec 2022 20:05:44 +0000 (20:05 +0000)]
Fix outgoing stack alignment

16 months agoImplement CSEL and LEA in x86 backend
Nick Gasson [Sat, 24 Dec 2022 18:17:41 +0000 (18:17 +0000)]
Implement CSEL and LEA in x86 backend

16 months agoFix LLVM verification errors without opaque pointers
Nick Gasson [Sat, 24 Dec 2022 13:56:20 +0000 (13:56 +0000)]
Fix LLVM verification errors without opaque pointers

16 months agoImplement get_exe_path on FreeBSD
Nick Gasson [Sat, 24 Dec 2022 12:27:26 +0000 (12:27 +0000)]
Implement get_exe_path on FreeBSD

16 months agoFix handling of large immediate values
Nick Gasson [Sat, 24 Dec 2022 12:05:48 +0000 (12:05 +0000)]
Fix handling of large immediate values

16 months agoImplement SHL and ASR in x86 backend
Nick Gasson [Fri, 23 Dec 2022 21:32:42 +0000 (21:32 +0000)]
Implement SHL and ASR in x86 backend

16 months agoImplement $COPY and $BZERO in x86 backend
Nick Gasson [Fri, 23 Dec 2022 18:20:06 +0000 (18:20 +0000)]
Implement $COPY and $BZERO in x86 backend

16 months agoImplement LOAD/STORE in x86 backend
Nick Gasson [Fri, 23 Dec 2022 17:35:45 +0000 (17:35 +0000)]
Implement LOAD/STORE in x86 backend

16 months agoFix restoring RBX in return sequence
Nick Gasson [Fri, 23 Dec 2022 16:41:56 +0000 (16:41 +0000)]
Fix restoring RBX in return sequence

16 months agoAvoid clobbering saved RBX with frame anchor
Nick Gasson [Fri, 23 Dec 2022 14:50:19 +0000 (14:50 +0000)]
Avoid clobbering saved RBX with frame anchor

16 months agoTemporary workaround for test failures on Ubuntu 20.04
Nick Gasson [Fri, 23 Dec 2022 11:04:37 +0000 (11:04 +0000)]
Temporary workaround for test failures on Ubuntu 20.04

16 months agoFix bug in LLVM translation of CNEG
Nick Gasson [Thu, 22 Dec 2022 11:07:59 +0000 (11:07 +0000)]
Fix bug in LLVM translation of CNEG

16 months agoBuild frame anchor in X86 JIT backend
Nick Gasson [Thu, 22 Dec 2022 11:02:05 +0000 (11:02 +0000)]
Build frame anchor in X86 JIT backend

16 months agoFix crash in waveform dump with unconstrained record. Issue #586
Nick Gasson [Wed, 21 Dec 2022 22:08:01 +0000 (22:08 +0000)]
Fix crash in waveform dump with unconstrained record. Issue #586

16 months agoFix bug in case generate parsing
Nick Gasson [Wed, 21 Dec 2022 21:28:19 +0000 (21:28 +0000)]
Fix bug in case generate parsing

16 months agoParsing for case generate statement. Issue #585
Nick Gasson [Mon, 19 Dec 2022 21:34:58 +0000 (21:34 +0000)]
Parsing for case generate statement. Issue #585

16 months agoAdd CLAMP and CNEG operations to JIT IR
Nick Gasson [Mon, 19 Dec 2022 19:06:07 +0000 (19:06 +0000)]
Add CLAMP and CNEG operations to JIT IR

16 months agoAvoid redundant comparisons against range direction
Nick Gasson [Mon, 19 Dec 2022 17:51:32 +0000 (17:51 +0000)]
Avoid redundant comparisons against range direction

16 months agoX86 translation for division and multiplication operators
Nick Gasson [Sun, 18 Dec 2022 20:30:13 +0000 (20:30 +0000)]
X86 translation for division and multiplication operators

16 months agoAdd a JIT backend for x86
Nick Gasson [Tue, 6 Dec 2022 16:10:05 +0000 (16:10 +0000)]
Add a JIT backend for x86

16 months agoAdd a benchmark of std_logic_arith
Nick Gasson [Sat, 17 Dec 2022 14:55:38 +0000 (14:55 +0000)]
Add a benchmark of std_logic_arith

16 months agoRename ASL opcode to SHL and fix LLVM generation
Nick Gasson [Sat, 17 Dec 2022 14:37:20 +0000 (14:37 +0000)]
Rename ASL opcode to SHL and fix LLVM generation

16 months agoAvoid generating LLVM phi instruction if block has single dominator
Nick Gasson [Sat, 17 Dec 2022 12:46:05 +0000 (12:46 +0000)]
Avoid generating LLVM phi instruction if block has single dominator

16 months agoFix incorrect types in LLVM phi instruction
Nick Gasson [Fri, 16 Dec 2022 21:16:33 +0000 (21:16 +0000)]
Fix incorrect types in LLVM phi instruction

16 months agoExpression coverage (#578)
Blebowski [Sun, 18 Dec 2022 11:26:45 +0000 (12:26 +0100)]
Expression coverage (#578)

16 months agoImprove subprogram overload resolution with named arguments. Issue #541
Nick Gasson [Fri, 16 Dec 2022 20:02:31 +0000 (20:02 +0000)]
Improve subprogram overload resolution with named arguments. Issue #541

16 months agoOptimise work queue stealing
Nick Gasson [Thu, 15 Dec 2022 19:14:40 +0000 (19:14 +0000)]
Optimise work queue stealing

16 months agoRefactor mtstress
Nick Gasson [Thu, 15 Dec 2022 19:14:03 +0000 (19:14 +0000)]
Refactor mtstress

16 months agoAdd install script for Lattice iCEcube2
Nick Gasson [Wed, 14 Dec 2022 20:20:14 +0000 (20:20 +0000)]
Add install script for Lattice iCEcube2

16 months agoAdd install script for Xilinx ISE
Nick Gasson [Wed, 14 Dec 2022 19:59:35 +0000 (19:59 +0000)]
Add install script for Xilinx ISE

16 months agoAdd simple jump threading optimisation
Nick Gasson [Tue, 13 Dec 2022 22:00:10 +0000 (22:00 +0000)]
Add simple jump threading optimisation