aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.hpp
Commit message (Expand)AuthorAgeFilesLines
* Improve matrix->matrix casting implementationgingerBill2021-11-081-0/+4
* Remove many LLVM optimization passes which were causes UB due to them assumin...gingerBill2021-11-061-0/+2
* Make llvm backend code use `PtrMap`; remove dead codegingerBill2021-11-051-14/+12
* `@(linkage=<string>)` for procedures and variables; `@(require)` for procedur...gingerBill2021-11-041-1/+3
* Compile `wasm64`; Add `lb_run_remove_unused_function_pass`gingerBill2021-10-311-0/+21
* Add `ODIN_LLVM_MINIMUM_VERSION_12`gingerBill2021-10-251-0/+12
* Improve use of vector muladd operationsgingerBill2021-10-251-1/+3
* Support matrix literalsgingerBill2021-10-201-0/+2
* Support indexing matricesgingerBill2021-10-191-0/+1
* Very basic matrix support in backendgingerBill2021-10-181-0/+4
* Minor code cleanup for backend; add `struct_fields_index_by_increasing_offset...gingerBill2021-10-021-1/+1
* Remove need for alignment `lb_struct_has_padding_prefix`gingerBill2021-10-021-1/+0
* Heavily improve the LLVM struct type generation to improve ABIgingerBill2021-10-021-47/+53
* LLVM Code Generator: Add explicitly padding between fields in LLVM struct typesgingerBill2021-09-131-0/+3
* Migrate and remove more from gb.hgingerBill2021-08-191-4/+2
* Unify semantics of the built-in `swizzle` procedure with the selector express...gingerBill2021-08-091-0/+5
* Reorganize llvm_backend.cpp into separate files for easier maintenancegingerBill2021-08-071-0/+17
* Add `missing_procedures_to_check` to `lbModule`gingerBill2021-08-031-0/+1
* Just create `context` when requiredgingerBill2021-06-141-1/+0
* Improve vector arithmetic generation for array programming operationsgingerBill2021-06-121-1/+2
* Experimental support for inline swizzling for array types of len <= 4 e.g. `v...gingerBill2021-06-051-1/+6
* Heavily improve the copy elision logic in the backendgingerBill2021-05-241-3/+8
* Add `byval` with `align`, `sret` attributes for SysVgingerBill2021-05-111-0/+1
* Move anonymous proc generation into `lbGenerator`gingerBill2021-05-041-0/+2
* Prepare to multithread object generationgingerBill2021-05-031-2/+2
* Minor fixes to -use-separate-modulesgingerBill2021-05-031-1/+2
* Experimental support for `-use-separate-modules`gingerBill2021-05-031-0/+1
* Begin work on making LLVM backend work with multiple modules for possible fas...gingerBill2021-05-031-3/+8
* Begin cleanup for allowing for multiple LLVM modulesgingerBill2021-05-031-1/+3
* Simplify/Fix the state_flag behaviour for code generationgingerBill2021-05-011-2/+1
* Add "naked" calling convention (removes prologue and epilogue)gingerBill2021-04-281-0/+1
* Add `intrinsics.count_zeros`gingerBill2021-04-251-0/+1
* Rename intrinsics to count_trailing_zeros and count_leading_zerosgingerBill2021-04-251-2/+2
* Replace many `foreign` llvm calls with intrinsicsgingerBill2021-04-251-0/+1
* Remove the need for `LLVM_BACKEND_SUPPORT`gingerBill2021-04-251-2/+0
* Move out some intrinsics into separate procedures in llvm_backend.cpp; Rename...gingerBill2021-04-241-0/+6
* Reuse unused 'context' variables to minimize stack usage (-llvm-api)gingerBill2021-04-221-0/+1
* Add intrinsics: overflow_add, overflow_sub, overflow_mul; Change byte swap be...gingerBill2021-04-221-1/+1
* Add `@(cold)` attribute to procedure declarationsgingerBill2021-04-141-0/+7
* Support #soa array iteration in a `for in` loop for `-llvm-api` backend onlygingerBill2021-03-241-0/+1
* Start work on very basic LLVM debug type informationgingerBill2021-03-221-0/+18
* Begin integrating work from branch llvm-debug-symbolsgingerBill2021-03-201-0/+28
* Fix some LLVM asserts by using LLVMConstNamedStruct everywheregingerBill2021-03-191-1/+1
* Fix `context` bug with `deferred_*` attributes which caused a new `context` t...gingerBill2021-03-061-2/+3
* Add `-vet-extra` (checks for unneeded casts and transmutes)gingerBill2021-03-031-3/+0
* Fix LLVM -opt:2 bug for initializing global variablesgingerBill2021-02-271-0/+1
* Begin work on aarch64 ABI for `-llvm-api`gingerBill2021-02-241-1/+1
* Remove `bit_field` type from Odin (keyword and dead runtime code still exists)gingerBill2021-02-191-1/+0
* Improve const hashgingerBill2020-11-291-1/+1
* Add `intrinsics.type_hasher_proc`; Make `map` work with generic hasher proceduregingerBill2020-11-291-1/+3