aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_expr.cpp
Commit message (Expand)AuthorAgeFilesLines
* Begin work on supporting `wasm64`; Correct `wasm32` compilation behaviourgingerBill2021-10-301-0/+2
* Merge branch 'master' into new-matrix-typegingerBill2021-10-261-5/+1
|\
| * Add `llvm_get_inline_asm` for future compatibilitygingerBill2021-10-261-5/+1
* | Improve use of vector muladd operationsgingerBill2021-10-251-6/+4
* | Improve matrix code generation for all supported platformsgingerBill2021-10-251-2/+27
* | Update alignment rules for `matrix` types as a compromise to keep zero paddinggingerBill2021-10-251-4/+19
* | Merge branch 'master' into new-matrix-typegingerBill2021-10-231-13/+13
|\|
| * Correct ternary if expression type determinationgingerBill2021-10-221-6/+0
| * Fix check_remove_expr_infogingerBill2021-10-221-2/+2
| * Correct update propagation of type for ternary if expressionsgingerBill2021-10-221-11/+17
* | Merge branch 'master' into new-matrix-typegingerBill2021-10-211-0/+37
|\|
| * Support `TenraryIfAddr` in `lb_build_addr`gingerBill2021-10-211-0/+37
* | Allow conversions between matrices of the same element countgingerBill2021-10-211-10/+28
* | Allow casting between square matrices of the same element typegingerBill2021-10-211-12/+32
* | Allow scalars with matricesgingerBill2021-10-211-8/+24
* | Minor clean up for `lb_matrix_trimmed_vector_mask`gingerBill2021-10-201-6/+8
* | Add `matrix_flatten` - `matrix[R, C]T` -> `[R*C]T`gingerBill2021-10-201-9/+68
* | Make `transpose` use SIMD if possiblegingerBill2021-10-201-21/+52
* | Make `lb_emit_matrix_mul` SIMD if possiblegingerBill2021-10-201-62/+82
* | Make `lb_emit_vector_mul_matrix` use SIMD if possiblegingerBill2021-10-201-3/+71
* | Add `llvm_vector_reduce_add`gingerBill2021-10-201-1/+2
* | Make `lb_emit_matrix_mul_vector` use SIMD if possiblegingerBill2021-10-201-3/+65
* | Add `hadamard_product`gingerBill2021-10-201-3/+3
* | Add builtin `outer_product`gingerBill2021-10-201-0/+32
* | Add builtin `transpose`gingerBill2021-10-201-116/+17
* | Support matrix literalsgingerBill2021-10-201-8/+111
* | Support indexing matricesgingerBill2021-10-191-1/+53
* | Basic support for matrix*vector, vector*matrix operationsgingerBill2021-10-191-96/+117
* | Try to support the matrix multiplication LLVM intrinsicsgingerBill2021-10-181-24/+249
* | Very basic matrix support in backendgingerBill2021-10-181-0/+78
|/
* Allow `uintptr` <-> `[^]T`gingerBill2021-09-291-0/+12
* Move redundant `auto_cast` error from `-vet` to `-vet-extra`gingerBill2021-09-281-0/+11
* Fix [^]u8 to cstring conversiongingerBill2021-09-251-0/+6
* Correct f64 -> u128/i128 generationgingerBill2021-09-251-1/+1
* LLVM Code Generator: Add explicitly padding between fields in LLVM struct typesgingerBill2021-09-131-5/+4
* Only store `field_index` remove `field_src_index` (for the time being)gingerBill2021-09-131-1/+1
* Begin minimize `Type` size by replacing `Array` with `Slice` etcgingerBill2021-09-131-4/+4
* Fix slice indices endiannessgingerBill2021-09-121-3/+6
* Remove `goto` in favour of multiple exitsgingerBill2021-09-081-2/+4
* Fix #1120 code generationgingerBill2021-09-081-5/+52
* Fix code gen bug for slicing multi pointersgingerBill2021-09-081-1/+4
* Fix indexing code gen for multi-pointersgingerBill2021-08-221-1/+1
* Fix code gen for compare against `nil` for multi pointersgingerBill2021-08-221-0/+1
* Add comparisons to LLVM backend for multi pointersgingerBill2021-08-211-0/+1
* Add multi-pointer types `[^]T`gingerBill2021-08-211-0/+55
* Remove unused codegingerBill2021-08-191-10/+1
* Make `or_else` and `or_return` operators (binary and suffix respectively)gingerBill2021-08-151-0/+8
* Unify semantics of the built-in `swizzle` procedure with the selector express...gingerBill2021-08-091-0/+56
* Reorganize llvm_backend.cpp into separate files for easier maintenancegingerBill2021-08-071-0/+3630