aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_expr.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix non-constant compound literals of slicesgingerBill2023-06-071-2/+3
|
* Merge branch 'master' into separate-int-word-sizesgingerBill2023-06-061-53/+41
|\
| * Minor change to handling of propagation of errors with `---` as a valuegingerBill2023-05-221-8/+8
| |
| * Enforce an `icmp` when casting to `i1` to correct behaviour for booleans ↵gingerBill2023-05-201-45/+32
| | | | | | | | which are not 0 or 1
| * Fix #2544gingerBill2023-05-181-0/+1
| |
* | Merge branch 'master' into separate-int-word-sizesgingerBill2023-05-181-4/+6
|\|
| * Zero non-diagonal elements when converting to matrixJ.C. Moyer2023-05-091-4/+6
| | | | | | | | Fixes #2056
* | Merge branch 'master' into separate-int-word-sizesgingerBill2023-05-031-1/+4
|\|
| * Fix #2481gingerBill2023-04-271-1/+1
| |
| * Fix #2487gingerBill2023-04-271-0/+3
| |
* | Begin work on new pseudo-architecture: wasm64p32gingerBill2023-04-201-1/+1
|/
* Increase use of `temporary_allocator()` where possiblegingerBill2023-03-161-8/+23
|
* Allow compound literals to access fields through `using`gingerBill2023-02-261-4/+16
|
* Allow comparisons between empty `struct{}` and `union{}`gingerBill2023-02-171-0/+9
|
* Fix overriding procedure information for literalsgingerBill2023-02-171-1/+1
|
* Fix #2282 caused by a typogingerBill2023-01-201-3/+3
|
* Fix #2264gingerBill2023-01-181-4/+4
|
* Fix #2274gingerBill2023-01-181-0/+5
|
* Fix #2305gingerBill2023-01-161-0/+3
|
* More `for_array(i, y)` to `for (x : y)` translationsgingerBill2023-01-031-12/+6
|
* Remove unneeded `local_entity_map`gingerBill2023-01-021-5/+1
|
* Correct a race condition when checking the procedure bodygingerBill2023-01-021-1/+5
|
* Revert "Change `tav` to be a pointer internally"gingerBill2022-12-221-16/+16
| | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d.
* Change `tav` to be a pointer internallygingerBill2022-12-221-16/+16
|
* `gb_internal` LLVM backendgingerBill2022-12-181-40/+40
|
* Naïve optimization of named _split_ multiple return valued when `defer` is ↵gingerBill2022-11-251-1/+1
| | | | | | | | | | never used This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables are not allocated to represent the named return values by using that specific memory. In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not, or is ever passed to a nested procedure call (e.g. possibly escapes).
* Fixed comparison against nil for mapsgingerBill2022-11-201-8/+3
|
* Enforce pointer castgingerBill2022-11-131-1/+2
|
* Begin work on map static setgingerBill2022-11-111-1/+1
|
* Correct static map get; make get take a pointer to simplify compiler internalsgingerBill2022-11-101-1/+1
|
* Change map internal calls to use a pointergingerBill2022-11-091-2/+2
|
* Change `__dynamic_map_get` signaturegingerBill2022-11-081-2/+2
|
* Fix #2160 (deep subtyping through `using` of `_`)gingerBill2022-11-011-24/+23
|
* Optimize `#caller_location` and `#location` to use read only data section ↵gingerBill2022-10-311-2/+2
| | | | where possible
* Minor technical improvementgingerBill2022-09-221-2/+5
|
* Reduce unnecessary map getsgingerBill2022-09-211-14/+8
|
* Change `__dynamic_map_get` and `__dynamic_map_set` to use separate ↵gingerBill2022-09-171-9/+3
| | | | parameters rather than take a singular struct
* Fix #2017 mismatched types in binary matrix expression for `flt * (mat * vec)`gingerBill2022-09-051-5/+18
|
* Fix #1994 Returning to err: Maybe(Error) raises compiler assertgingerBill2022-09-011-1/+1
|
* Correct max alignment handling throughout the llvm backendgingerBill2022-08-241-3/+3
|
* Merge pull request #1955 from jaspergeer/fix-endian-type-conversiongingerBill2022-08-241-3/+0
|\ | | | | fix #1759 endian float type conversion errors
| * Remove erroneous byte swapJasper Geer2022-08-161-3/+0
| |
* | Fix #1963gingerBill2022-08-191-1/+1
|/
* Minor refactoring of `lb_build_addr`gingerBill2022-08-111-403/+417
|
* Clean up compound literal backend stuff some moregingerBill2022-08-111-176/+48
|
* Improve compound literal generation for array-like typesgingerBill2022-08-111-749/+617
|
* Eliminate use of LLVMGetElementType for pointersgingerBill2022-08-091-1/+1
|
* Merge pull request #1933 from lerno/reduce_reliance_on_ptr_typegingerBill2022-08-091-114/+116
|\ | | | | Removed use of deprecated functions. Cleaned up most deprecated use o…
| * Removed use of deprecated functions. Cleaned up most deprecated use of ↵Christoffer Lerno2022-08-071-114/+116
| | | | | | | | LLVMGetElementType.
* | Add `#soa` pointer type to aid with refactoring to `#soa` data typesgingerBill2022-08-081-4/+29
|/ | | | | | | | a: #soa[16]Foo p := &a[6] #assert(type_of(p) == #soa^#soa[16]Foo) p^.x = 123 p.x = 123