aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_utility.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix race condition with -use-separate-modules due to type determinationgingerBill2023-04-181-0/+7
|
* Allow compound literals to access fields through `using`gingerBill2023-02-261-1/+1
|
* Minor change to `byval` for readonly parametersgingerBill2023-02-031-0/+39
|
* Revert "Change `tav` to be a pointer internally"gingerBill2022-12-221-6/+6
| | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d.
* Change `tav` to be a pointer internallygingerBill2022-12-221-6/+6
|
* Remove dead code in the compilergingerBill2022-12-181-12/+0
|
* `gb_internal` LLVM backendgingerBill2022-12-181-97/+97
|
* Basic copy elision support for multiple return valuesgingerBill2022-11-241-35/+87
|
* Basic support for new ABI experiment on Win64gingerBill2022-11-231-1/+1
|
* Fix #2172gingerBill2022-11-211-17/+30
|
* Begin work on map static setgingerBill2022-11-111-0/+7
|
* Correct static map get; make get take a pointer to simplify compiler internalsgingerBill2022-11-101-1/+1
|
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-2/+2
| | | | add `runtime.map_get`
* Change `__dynamic_map_get` signaturegingerBill2022-11-081-14/+9
|
* Remove the need for `type->Map.internal_type` and replace with the ↵gingerBill2022-11-081-10/+7
| | | | definition of `runtime.Raw_Map`
* Support `for in` loops for `map`gingerBill2022-11-081-1/+7
|
* General modificationsgingerBill2022-11-081-21/+23
|
* Correct parapoly determination of generated internal type of a `map`gingerBill2022-09-221-1/+1
|
* Fix #2020 transmute from array to #simd code generationgingerBill2022-09-051-0/+14
|
* Fix typogingerBill2022-08-171-1/+1
|
* Improve `unreachable` generation by putting a `trap` before itgingerBill2022-08-171-0/+1
|
* Merge pull request #1944 from odin-lang/load-improvementsgingerBill2022-08-151-0/+4
|\ | | | | Improvements to `#load`
| * Add `#load(path) or_else default` in favour of `#load_or(path, default)`gingerBill2022-08-111-0/+4
| |
* | Fix `lb_emit_ptr_offset`gingerBill2022-08-121-1/+1
|/
* General clean up of LLVM*GEP2 codegingerBill2022-08-101-22/+17
|
* Wrap all `LLVMGetElementType` usesgingerBill2022-08-091-4/+4
|
* Eliminate use of LLVMGetElementType for pointersgingerBill2022-08-091-3/+1
|
* Merge pull request #1933 from lerno/reduce_reliance_on_ptr_typegingerBill2022-08-091-146/+66
|\ | | | | 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-146/+66
| | | | | | | | LLVMGetElementType.
* | Add `#soa` pointer type to aid with refactoring to `#soa` data typesgingerBill2022-08-081-1/+34
|/ | | | | | | | a: #soa[16]Foo p := &a[6] #assert(type_of(p) == #soa^#soa[16]Foo) p^.x = 123 p.x = 123
* Allow for `foo() or_else unreachable()` and other diverging proceduresgingerBill2022-08-051-23/+46
|
* Force memset instead of store zeroinitializer when the value is largegingerBill2022-07-241-4/+4
|
* Mock up for the ability to enforce our own `runtime.memset` if necessarygingerBill2022-07-161-11/+24
|
* Support `count_ones` etc with #simdgingerBill2022-05-261-2/+4
|
* Simplify transmute for #simdgingerBill2022-05-251-0/+5
|
* Replace the atomic intrinsicsgingerBill2022-03-311-0/+22
| | | | Matching C11 in style
* Merge branch 'master' into freestanding_amd64gingerBill2022-03-141-2/+2
|\
| * #Fix 1615 Replace `llvm.readcyclecounter` with `cntvct_el0` on arm64gingerBill2022-03-121-1/+1
| |
| * Add relative slice to type checks for built in lenJoakim Hentula2022-03-021-1/+1
| |
* | Commit rest of code for `-disallow-rtti`gingerBill2022-02-281-8/+22
|/
* Use `objc_allocateClassPair` for `intrinsics.objc_register_class`gingerBill2022-02-141-3/+5
|
* Add new objc intrinsics: objc_(register|find)_(selector|class)gingerBill2022-02-141-35/+98
|
* Add `intrinsics.type_is_subtype_of`; `intrinsics.objc_selector_name`gingerBill2022-02-081-0/+11
|
* Begin work on support objc intrinsicsgingerBill2022-02-081-0/+96
|
* Add `#no_type_assert` and `#type_assert` to disable implicit type assertions ↵gingerBill2022-01-271-15/+26
| | | | with `x.(T)`
* Rename architecture `386` to `i386`gingerBill2022-01-151-1/+1
|
* Correct `lb_emit_ptr_offset` bug caused by `LLVMConstGEP` assuming a signed ↵gingerBill2021-12-291-1/+1
| | | | index
* Fix #1328gingerBill2021-11-231-13/+5
|
* Remove many LLVM optimization passes which were causes UB due to them ↵gingerBill2021-11-061-6/+19
| | | | assuming C-like behaviour incompatible with Odin
* Make llvm backend code use `PtrMap`; remove dead codegingerBill2021-11-051-3/+3
|