Christoffer Lerno
8b0df0ee11
try? / catch?
2023-03-17 22:49:48 +01:00
Christoffer Lerno
6ac99ed83c
Improve debug info.
2023-03-05 20:50:04 +01:00
Christoffer Lerno
0dcad6f5cf
Improve and simplify casts.
2023-03-01 22:43:50 +01:00
Christoffer Lerno
baa2e474b5
Added $$atomic_store and $$atomic_load.
2023-02-17 13:22:12 +01:00
Christoffer Lerno
c26655a05a
Remove usize/isize completely.
2023-02-16 00:48:37 +01:00
Christoffer Lerno
03cd56e46b
Add @local and fix visibility issues for generic methods.
2023-02-14 12:17:56 +01:00
Christoffer Lerno
dce171670f
Use printn rather than println. Add string methods for copying.
2023-02-04 19:48:42 +01:00
Christoffer Lerno
6b928c7a3d
Add saturated math and expect macros.
2023-02-03 00:25:29 +01:00
Christoffer Lerno
4ea81fe636
More riscv tests. Fix missing zero/signext attributes on calls. Fixes and simplification to riscv ABI.
2023-01-31 14:09:32 +01:00
Christoffer Lerno
539d733ceb
Remove LLVM 14 support. Simplify ABI lowering.
2023-01-30 12:39:04 +01:00
Christoffer Lerno
a95710c93f
Add no-entry to project/command line. Add "link-args" to project. Add @wasm and @extern attributes. Added $$wasm_memory_size and $$wasm_memory_grow builtins.
2023-01-26 12:02:09 +01:00
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