aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_general.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix #1319gingerBill2021-11-191-3/+8
|
* Remove many LLVM optimization passes which were causes UB due to them ↵gingerBill2021-11-061-1/+1
| | | | assuming C-like behaviour incompatible with Odin
* Make llvm backend code use `PtrMap`; remove dead codegingerBill2021-11-051-31/+25
|
* `@(linkage=<string>)` for procedures and variables; `@(require)` for ↵gingerBill2021-11-041-0/+13
| | | | procedures; `package runtime` linkage improvements; Subsequence improvements to `lb_run_remove_unused_function_pass`
* Add `ODIN_LLVM_MINIMUM_VERSION_12`gingerBill2021-10-251-1/+1
|
* Update alignment rules for `matrix` types as a compromise to keep zero paddinggingerBill2021-10-251-2/+6
|
* Support indexing matricesgingerBill2021-10-191-0/+30
|
* Basic support for matrix*vector, vector*matrix operationsgingerBill2021-10-191-3/+5
|
* Begin work on matrix typegingerBill2021-10-181-0/+18
|
* Correct ABI for windows with LLVMgingerBill2021-10-021-0/+2
|
* Add sizes to assert messagegingerBill2021-10-021-1/+4
|
* Add message to assert; add sanity check for possible future behaviourgingerBill2021-10-021-11/+14
|
* Minor code cleanup for backend; add ↵gingerBill2021-10-021-8/+10
| | | | `struct_fields_index_by_increasing_offset` for future use
* Remove need for alignment `lb_struct_has_padding_prefix`gingerBill2021-10-021-12/+15
|
* Heavily improve the LLVM struct type generation to improve ABIgingerBill2021-10-021-65/+50
|
* Fix #1174gingerBill2021-09-181-1/+5
|
* LLVM Code Generator: Add explicitly padding between fields in LLVM struct typesgingerBill2021-09-131-15/+55
|
* Replace many uses of `heap_allocator()` with `permanent_allocator()`gingerBill2021-09-131-2/+2
|
* Begin minimize `Type` size by replacing `Array` with `Slice` etcgingerBill2021-09-131-1/+1
|
* Prepare for LLVM 12.0.1 compatibilitygingerBill2021-09-111-15/+23
|
* Treat `Type_Tuple` closer to a `Type_Struct` in `lb_type`gingerBill2021-08-261-0/+3
|
* Unify thread pool logic across the rest of the compiler, using a global ↵gingerBill2021-08-261-2/+0
| | | | thread pool
* Add multi-pointer types `[^]T`gingerBill2021-08-211-0/+35
|
* Migrate and remove more from gb.hgingerBill2021-08-191-5/+3
|
* Remove unused codegingerBill2021-08-191-6/+5
|
* Fix #1026gingerBill2021-08-131-2/+25
|
* Unify semantics of the built-in `swizzle` procedure with the selector ↵gingerBill2021-08-091-0/+44
| | | | expression semantics e.g. `.xyz`
* Reorganize llvm_backend.cpp into separate files for easier maintenancegingerBill2021-08-071-0/+2490