aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix byte swapping for endian specific types in `-llvm-api`gingerBill2021-03-271-0/+11
|
* Move variable declarations to aid other compilersgingerBill2021-03-251-3/+3
|
* Fix to `OdinLLVMBuildTransmute` to `goto general_end` on different sized datagingerBill2021-03-251-4/+7
|
* Fix pseudo-constant local slice initializationgingerBill2021-03-251-7/+8
|
* Minor zero enforcementgingerBill2021-03-251-1/+1
|
* Fix pseudo-constant local embedded slice generationgingerBill2021-03-251-3/+39
|
* Change to assert to test both LLVMIsConstant and LLVMIsGlobalConstantgingerBill2021-03-251-1/+1
|
* Revert change :DgingerBill2021-03-251-1/+1
|
* Another minor fix to `OdinLLVMBuildTransmute`gingerBill2021-03-251-1/+1
|
* Minor fix to `OdinLLVMBuildTransmute`gingerBill2021-03-251-2/+13
|
* Correct #c_vararg behaviour on -llvm-apigingerBill2021-03-251-0/+6
|
* Add SOA struct len/cap/allocator fields for the debug symbolsgingerBill2021-03-241-19/+64
|
* 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