gingerBill
3f038428a7
Begin minimizing Ast size
2021-11-14 15:12:37 +00:00
Yawning Angel
c430a82721
src: Fix the syscall intrinsic code generation for Linux and Windows
...
The old assembly generated for the syscall intrinsic did not specify
clobber constraints. This adds RCX and R11 (that are clobbered by
the instruction itself), and memory (that is clobbered by some
system calls) to the assembly constraints.
Note: This is still incorrect on FreeBSD, which clobbers more registers
and uses the carry flag instead of -errno in rax to indicate an error.
2021-11-13 09:53:20 +00:00
gingerBill
23f0fbc376
Improve matrix->matrix casting implementation
2021-11-08 11:40:41 +00:00
gingerBill
6be104e521
Make llvm backend code use PtrMap; remove dead code
2021-11-05 16:43:53 +00:00
gingerBill
6ded538546
@(linkage=<string>) for procedures and variables; @(require) for procedures; package runtime linkage improvements; Subsequence improvements to lb_run_remove_unused_function_pass
2021-11-04 12:40:50 +00:00
gingerBill
c5cd97dd89
Improve wasm-import semantics to allow procedures from different import paths
2021-11-02 12:54:23 +00:00
Yawning Angel
796a0c3968
core/intrinsics: Add mem_zero_volatile
2021-10-31 21:37:22 +00:00
gingerBill
8ef6f9dd7b
Compile wasm64; Add lb_run_remove_unused_function_pass
2021-10-31 00:11:38 +01:00
gingerBill
549a383cf0
Merge branch 'master' into new-matrix-type
2021-10-26 12:53:47 +01:00
gingerBill
72cc92dc5c
Add llvm_get_inline_asm for future compatibility
2021-10-26 11:44:25 +01:00
gingerBill
a440d8d812
Improve use of vector muladd operations
2021-10-25 13:10:56 +01:00
gingerBill
b4df51e483
Merge branch 'master' into new-matrix-type
2021-10-23 19:24:47 +01:00
gingerBill
71932da7e3
Add intrinsics.unaligned_store intrinsics.unaligned_load
2021-10-23 16:52:43 +01:00
gingerBill
e6f725dc2c
Minor fix for parapoly matrix types
2021-10-20 17:00:14 +01:00
gingerBill
3e4c2e4932
Support conj on array and matrix types
2021-10-20 16:03:16 +01:00
gingerBill
d3abc1a2b4
Add matrix_flatten - matrix[R, C]T -> [R*C]T
2021-10-20 15:33:23 +01:00
gingerBill
cee45c1b15
Add hadamard_product
2021-10-20 02:18:30 +01:00
gingerBill
68afbb37f4
Add builtin outer_product
2021-10-20 02:06:56 +01:00
gingerBill
7faca7066c
Add builtin transpose
2021-10-20 01:51:16 +01:00
gingerBill
d386563344
Correct issue with the generated map type internals; Simplify map rehash logic to utilize resize
2021-10-07 21:23:37 +01:00
gingerBill
6855538729
Merge branch 'master' into llvm-12.0.1-windows
2021-09-18 12:55:13 +01:00
gingerBill
fb8fa5217d
Begin minimize Type size by replacing Array with Slice etc
2021-09-13 00:58:39 +01:00
gingerBill
7260d3cecb
Add intrinsics.prefetch_* procedures
2021-09-11 17:30:44 +01:00
gingerBill
54b37573c9
Add intrinsics.syscall (for Linux and Darwin only)
2021-08-29 13:17:06 +01:00
gingerBill
b33bf3f704
Correct race condition and incorrect usage of condition_signal outside of a mutex lock
2021-08-26 22:17:51 +01:00
gingerBill
382ca20916
Correct procedure checking flag handling, and correct the (bodge) handle of unchecked procedure bodies
2021-08-23 19:24:53 +01:00
gingerBill
38841dd46e
Fix race condition from add_entity_use due to Entity.identifier
2021-08-19 17:38:18 +01:00
gingerBill
7845769d4b
Remove unused code
2021-08-19 15:03:10 +01:00
gingerBill
21cbac755e
Make or_else and or_return operators (binary and suffix respectively)
2021-08-15 17:14:35 +01:00
gingerBill
a3a20f09e2
or_return built-in procedure
2021-08-15 16:55:30 +01:00
gingerBill
8ff9f2e44f
Fix #1077
2021-08-13 11:49:52 +01:00
gingerBill
01f431b01f
Unify semantics of the built-in swizzle procedure with the selector expression semantics e.g. .xyz
2021-08-09 19:37:58 +01:00
gingerBill
40822be595
Reorganize llvm_backend.cpp into separate files for easier maintenance
2021-08-07 12:01:48 +01:00