Christoffer Lerno
92507ee388
More work on TB
2023-01-19 20:32:19 +01:00
Christoffer Lerno
e284d49dd9
Initial add of tilde backend.
2023-01-19 00:08:31 +01:00
Dmitry Atamanov
8390655d79
Fixes $$get_rounding_mode() for LLVM > 15.
2023-01-05 12:56:18 +01:00
Christoffer Lerno
f622b3bd4c
Cleanup of naming change to optional. Fix of builtin optional handling.
2022-12-27 23:55:23 +01:00
Christoffer Lerno
f46697bc54
Updated casts ( #684 )
...
Cast code rework. Remove llvm_set_bool and friends.
2022-12-27 14:16:47 +01:00
Christoffer Lerno
c339261d1e
Added vector dot functions. Comparison now yields bool vector. Cast between vector types.
2022-12-17 01:51:03 +01:00
Christoffer Lerno
a9ed514fe5
Fix bug in defer from macros. Ensure debug location on panic functions. Add getcwd.
2022-12-13 07:50:41 +01:00
Dmitry Atamanov
8b0d409695
Add inlined memcpy and memset builtins and macros. ( #668 )
2022-12-12 11:45:01 +01:00
Christoffer Lerno
de4bfe470e
Attempt supporting setjmp on MSVC
2022-12-07 22:16:09 +01:00
Dmitry Atamanov
5ff726d8d1
Added $$get_rounding_mode and $$set_rounding_mode builtins. ( #655 )
2022-11-14 13:07:32 +01:00
Christoffer Lerno
49eacb8824
More support for test. Panic function update.
2022-11-14 11:48:12 +01:00
Christoffer Lerno
73619817ba
Update panic function and early work on tests. Optimize ABI lowering.
2022-11-03 19:38:34 +01:00
Christoffer Lerno
b1ed066e55
Fix coerce store / load to properly rely on alloc size like Clang does it. Version bump.
2022-10-15 22:12:52 +02:00
Christoffer Lerno
feba7b8ed2
Rename muladd and fmuladd and insert it at codegen.
2022-10-10 11:14:57 +02:00
Dmitry Atamanov
3624c2a72c
Added $$muladd built-in.
2022-10-10 11:14:57 +02:00
Dmitry Atamanov
7fa129932d
Added $$memmove built-in.
2022-10-08 21:41:11 +02:00
Christoffer Lerno
c5b9b6c761
Single module compilation.
2022-09-30 13:56:08 +02:00
Christoffer Lerno
e1b5b0b60c
Implement static finalize / initialize. Version bump.
2022-09-28 17:18:20 +02:00
Christoffer Lerno
81bea9bad6
Updated untyped lists.
2022-09-24 14:35:58 +02:00
Christoffer Lerno
4fa4b2a631
Refactored builtins. Added reduce operations and powi. Version bump.
2022-09-19 14:58:48 +02:00
Christoffer Lerno
9b14340a57
Added prefetch builtin.
2022-09-18 23:27:42 +02:00
Christoffer Lerno
a66c0942f8
Adding saturated builtins. Remove LLVM 12 support. Remove old llvm optimizer use.
2022-09-17 12:03:08 +02:00
Christoffer Lerno
ba9b203c52
Cleanup.
2022-09-15 09:50:46 +02:00
Christoffer Lerno
fa89ea7b79
Add checks on enum conversion in safe mode. Bump to 0.3.38.
2022-09-09 17:18:27 +02:00
Christoffer Lerno
4fbdb79b65
Add some fixes to asm + test case.
2022-09-05 22:19:45 +02:00
Dmitry Atamanov
7a07b8ff13
Add new built-ins ( #551 )
...
* Added new built-ins: $$copysign, $$exp2, $$floor, $$llrint, $$llround, $$lrint, $$lround, $$nearbyint, $$rint, $$round, $$roundeven
* Disable $$llrint, $$llround, $$lrint and $$lround
2022-08-30 09:50:28 +02:00
Christoffer Lerno
9a69a13b04
Fixes to or/and with rethrow.
2022-08-15 14:34:18 +02:00
Christoffer Lerno
63d9853bd3
Fixes to bitstruct.
2022-08-14 18:25:47 +02:00
Christoffer Lerno
7805fb8d1c
More codegen cleanup.
2022-08-13 00:19:09 +02:00
Christoffer Lerno
d93c7090f6
Adding wrapper functions to a lot of the LLVM calls.
2022-08-12 23:20:35 +02:00
Christoffer Lerno
44df6eb75b
Cleanup.
2022-08-12 18:13:24 +02:00
Christoffer Lerno
5cacc41925
Add global builder / updated codegen.
2022-08-12 01:50:48 +02:00
Christoffer Lerno
90dfc24491
General cleanup and rearranging code.
2022-08-11 02:20:22 +02:00
Christoffer Lerno
92b4eeaa35
Update codegen for failable folding. Fixes chained init, e.g. "int! a = b = TestErr.FOO!"
2022-08-10 21:32:29 +02:00
Christoffer Lerno
5ac35a49fd
Minor cleanup. Fix of do { } while(1) loops. Bump to 0.3.9
2022-08-10 16:37:27 +02:00
Christoffer Lerno
1bf3bb51bf
Add asm output option using --emit-asm.
2022-08-10 11:41:40 +02:00
Christoffer Lerno
9473adbc35
Added $$sysclock() builtin.
2022-08-10 01:24:16 +02:00
Christoffer Lerno
cdff5c3e26
Dev ( #500 )
...
Single code path for kind/inner/len/sizeof on type and typeid. Fix of #493 . Bump to 0.2.24. Remove ´func´ deprecated keyword. Unify builtin access. Enum and fault name reflection.
2022-07-26 00:56:59 +02:00
Christoffer Lerno
4afec24434
More advanced introspection.
2022-07-20 12:22:03 +02:00
Christoffer Lerno
6cf3c9f46b
Fix in nested block handling. @maydiscard and @nodiscard annotations. If the common type of int[x] and int[y] is int[]
2022-07-17 19:48:24 +02:00
Christoffer Lerno
28a8e17690
Vararg abi fix. Version bumped to 0.2.14
2022-07-13 14:19:09 +02:00
Christoffer Lerno
c8a614e43f
LLVM 15 compatibility fixes ( #465 )
...
More variant code. Fixes to typekind. Fixes to macro with failable returns. Remove use of LLVMConstInsert etc. Version 0.2.8
2022-07-06 16:41:52 +02:00
Christoffer Lerno
b1d83e2ccd
Auto-import std::core. Fix module assignment of declarations. Introspection improvements. Deref null error panics in safe mode. Support for LLVM 15
2022-06-29 21:57:35 +02:00
Christoffer Lerno
df41caabdd
Global @align fixed #446 .
2022-06-04 23:19:27 +02:00
Christoffer Lerno
890c4bc435
0.2.0. Build system improvements. Target changes x64-windows -> windows-x64, x64-darwin -> macos-x64. Improved mac support. LLD linking for Mac, Windows, Linux. Cross linking for Mac, Windows. Clean up string use. Fix of debug handling of multiple compilation units per module. MSVC CI
2022-04-26 13:20:33 +02:00
Christoffer Lerno
8743223dd6
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
2022-04-09 20:07:59 +02:00
Christoffer Lerno
05d8e6c7b8
Fix debug panic for vector shift and division.
2022-03-20 19:39:31 +01:00
Christoffer Lerno
6789fab93c
Panic function that may be redefined. Trap and stacktrace builtins. Bug using builtin fixed. Fixes to using $$LINE and friends. Produces a stacktrace on error.
2022-03-18 12:43:17 +01:00
Christoffer Lerno
c414459075
Fix bug with missing debug location.
2022-03-10 15:55:44 +01:00
Christoffer Lerno
6a48f81485
Smaller Decl and Expr. Compressed TypeInfo.
2022-03-09 19:10:11 +01:00