aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Ensure pointers are of the same type in LLVM ICmpgingerBill2021-03-241-1/+9
|
* Support `using` on intermediate soa field value from a for-in statementgingerBill2021-03-241-2/+13
|
* Implement `soa_unzip`gingerBill2021-03-241-0/+29
|
* `soa_zip` (-llvm-api only): creates an `#soa[]struct` from passed slicesgingerBill2021-03-241-0/+31
| | | | | | | | | | | | x := []i32{1, 3, 9}; y := []f32{2, 4, 16}; z := []b32{true, false, true}; s_anonymous := soa_zip(x, y, z); assert(s_anonymous[0]._1 == 2); s_named := soa_zip(a=x, b=y, c=z); assert(s_anonymous[0].b == 2);
* Support #soa array iteration in a `for in` loop for `-llvm-api` backend onlygingerBill2021-03-241-7/+101
|
* Make the parser support as many identifiers on the LHS in `for in` loops to ↵gingerBill2021-03-241-10/+10
| | | | improve error messages
* Support `using` variables in debug informationgingerBill2021-03-241-1/+10
|
* For `bit_set`, allow `+` and `-` to be aliases for `|` and `&~`, respectivelygingerBill2021-03-231-0/+7
|
* `bit_set` support in debug symbols by treating them like a bit field of 1 ↵gingerBill2021-03-231-69/+117
| | | | bit booleans
* Prefix named types with package name in debug typesgingerBill2021-03-231-0/+3
|
* Improve debug type names for composite types (arrays, map, struct, union)gingerBill2021-03-231-46/+44
|
* Clean up some debug type codegingerBill2021-03-231-131/+113
|
* Add global variables to -llvm-api debug informationgingerBill2021-03-231-1/+2
|
* Move LLVM optimization procedures to a separate file to aid with organizationgingerBill2021-03-231-90/+33
|
* Fix debug information for `typeid` on -llvm-apigingerBill2021-03-221-2/+3
|
* Correct debug info for basic composite types (e.g. `string`, `any`)gingerBill2021-03-221-89/+143
|
* Add local debug variable support for -llvm-apigingerBill2021-03-221-54/+151
|
* Start work on very basic LLVM debug type informationgingerBill2021-03-221-31/+292
|
* Begin integrating work from branch llvm-debug-symbolsgingerBill2021-03-201-423/+552
|
* Fix LLVMConstArray usagegingerBill2021-03-191-6/+12
|
* Fix LLVM assertsgingerBill2021-03-191-4/+7
|
* Fix some LLVM asserts by using LLVMConstNamedStruct everywheregingerBill2021-03-191-52/+93
|
* Add `pkg` field to `testing.Internal_Test`gingerBill2021-03-141-3/+10
|
* `odin test` to work with the new `core:testing` packagegingerBill2021-03-141-3/+49
|
* Add `intrinsics.volatile_store` and `intrinsics.volatile_load`gingerBill2021-03-091-0/+4
|
* Remove test codegingerBill2021-03-061-3/+0
|
* Fix `context` bug with `deferred_*` attributes which caused a new `context` ↵gingerBill2021-03-061-44/+69
| | | | to be created every time
* Minimize the size of `runtime.Source_Code_Location` to use `i32` instead of ↵gingerBill2021-03-051-14/+14
| | | | `int`
* Minimize TokenPos size by using `i32` for line/column/offset and file_id ↵gingerBill2021-03-041-16/+16
| | | | | | instead of `String` To make `i32` safe, the parser limits the file size of odin files to a maximum of 2GiB (which will be good enough for the vast vast majority of cases)
* Clean up logic for `<<` and `>>` behaviourgingerBill2021-03-021-4/+4
|
* Re-enable "LLVM Function Pass"gingerBill2021-03-021-1/+1
|
* Clean up `lb_end_procedure_body` logicgingerBill2021-03-021-22/+3
|
* Fix Addressing for SOA on store; Add intrinsics.type_struct_field_count(T)gingerBill2021-03-011-6/+23
|
* Improve `lb_end_procedure_body` logicgingerBill2021-03-011-11/+35
|
* Remove hack in `lb_addr_store`gingerBill2021-03-011-13/+34
|
* Minor changes to function pass manager in llvm_backend.cppgingerBill2021-02-271-27/+33
|
* Fix LLVM -opt:2 bug for initializing global variablesgingerBill2021-02-271-21/+43
|
* Patch issue with minimum dependency system and how it interacts with para ↵gingerBill2021-02-261-2/+5
| | | | poly procedures
* Fixing a typo in llvm backend.Mykola Konyk2021-02-251-3/+0
|
* Make USE_NEW_LLVM_ABI_SYSTEM the actual behaviour and remove the previous ↵gingerBill2021-02-251-397/+104
| | | | approach
* Make lb_create_enum_attribute ignore certain attributes (they are not ↵gingerBill2021-02-251-1/+16
| | | | properly supported by the actual LLVM C API)
* Begin work on aarch64 ABI for `-llvm-api`gingerBill2021-02-241-1/+4
|
* Remove `#opaque` typesgingerBill2021-02-231-31/+0
|
* Deprecate `inline for` in favour of `#unroll for`gingerBill2021-02-231-1/+1
|
* Remove `bit_field` type from Odin (keyword and dead runtime code still exists)gingerBill2021-02-191-234/+26
|
* Fix slices of slices in procedures for -llvm-apigingerBill2021-01-271-5/+35
|
* Add package name and source code location to `Type_Info_Named`gingerBill2020-12-051-1/+22
|
* Remove `hash` field in runtime.Source_Code_LocationgingerBill2020-12-051-13/+2
|
* Allow nested procedures to access `@(static)` and `@(thread_local)` variablesgingerBill2020-12-041-9/+23
|
* Change ExactValue layout for complex/quaternion types to minimize its sizegingerBill2020-12-031-12/+12
|