aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Removes unneeded lookups / Adds sret to call site which fixes the mac bugPlatin212021-12-231-0/+4
|
* Begin minimizing `Ast` sizegingerBill2021-11-141-2/+2
|
* src: Fix the syscall intrinsic code generation for Linux and WindowsYawning Angel2021-11-131-1/+16
| | | | | | | | | | 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.
* Improve matrix->matrix casting implementationgingerBill2021-11-081-2/+2
|
* Make llvm backend code use `PtrMap`; remove dead codegingerBill2021-11-051-1/+1
|
* `@(linkage=<string>)` for procedures and variables; `@(require)` for ↵gingerBill2021-11-041-0/+2
| | | | procedures; `package runtime` linkage improvements; Subsequence improvements to `lb_run_remove_unused_function_pass`
* Improve `wasm-import` semantics to allow procedures from different import pathsgingerBill2021-11-021-18/+2
|
* core/intrinsics: Add mem_zero_volatileYawning Angel2021-10-311-1/+12
|
* Compile `wasm64`; Add `lb_run_remove_unused_function_pass`gingerBill2021-10-311-3/+10
|
* Merge branch 'master' into new-matrix-typegingerBill2021-10-261-23/+6
|\
| * Add `llvm_get_inline_asm` for future compatibilitygingerBill2021-10-261-23/+6
| |
* | Improve use of vector muladd operationsgingerBill2021-10-251-10/+1
| |
* | Merge branch 'master' into new-matrix-typegingerBill2021-10-231-50/+88
|\|
| * Add `intrinsics.unaligned_store` `intrinsics.unaligned_load`gingerBill2021-10-231-50/+88
| |
* | Minor fix for parapoly matrix typesgingerBill2021-10-201-2/+1
| |
* | Support `conj` on array and matrix typesgingerBill2021-10-201-25/+52
| |
* | Add `matrix_flatten` - `matrix[R, C]T` -> `[R*C]T`gingerBill2021-10-201-0/+6
| |
* | Add `hadamard_product`gingerBill2021-10-201-0/+10
| |
* | Add builtin `outer_product`gingerBill2021-10-201-0/+8
| |
* | Add builtin `transpose`gingerBill2021-10-201-0/+6
|/
* Correct issue with the generated `map` type internals; Simplify map rehash ↵gingerBill2021-10-071-1/+4
| | | | logic to utilize `resize`
* Merge branch 'master' into llvm-12.0.1-windowsgingerBill2021-09-181-2/+2
|\
| * Begin minimize `Type` size by replacing `Array` with `Slice` etcgingerBill2021-09-131-2/+2
| |
* | Add `intrinsics.prefetch_*` proceduresgingerBill2021-09-111-0/+48
|/
* Add `intrinsics.syscall` (for Linux and Darwin only)gingerBill2021-08-291-0/+117
|
* Correct race condition and incorrect usage of `condition_signal` outside of ↵gingerBill2021-08-261-0/+2
| | | | a mutex lock
* Correct procedure checking flag handling, and correct the (bodge) handle of ↵gingerBill2021-08-231-1/+1
| | | | unchecked procedure bodies
* Fix race condition from `add_entity_use` due to Entity.identifiergingerBill2021-08-191-2/+3
|
* Remove unused codegingerBill2021-08-191-7/+3
|
* Make `or_else` and `or_return` operators (binary and suffix respectively)gingerBill2021-08-151-5/+0
|
* `or_return` built-in proceduregingerBill2021-08-151-0/+2
|
* Fix #1077gingerBill2021-08-131-1/+1
|
* Unify semantics of the built-in `swizzle` procedure with the selector ↵gingerBill2021-08-091-24/+2
| | | | expression semantics e.g. `.xyz`
* Reorganize llvm_backend.cpp into separate files for easier maintenancegingerBill2021-08-071-0/+2221