aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_abi.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix typo in wasm64p32 abigingerBill2023-06-071-1/+1
|
* Ignore non-variable parametersgingerBill2023-06-071-3/+6
|
* Change ABI for wasm64p32 on slices and structsgingerBill2023-06-071-16/+42
|
* Merge branch 'master' into separate-int-word-sizesgingerBill2023-06-061-10/+27
|\
| * Merge pull request #2563 from charles-l/mastergingerBill2023-05-291-9/+22
| |\ | | | | | | WASM: Use BasicC ABI convention for arguments that have `proc "c"`
| | * WASM: Use BasicC ABI convention for arguments that have a `proc "c"` annotationcharles2023-05-291-9/+22
| | |
| * | Fix #2561 - ARM64 ABI bug for homogenous structs with more than 4 elementsgingerBill2023-05-291-1/+5
| |/
* | Rename `word_size` to `ptr_size` internally to make it clearergingerBill2023-04-201-4/+4
| |
* | Begin work on new pseudo-architecture: wasm64p32gingerBill2023-04-201-1/+1
|/
* Improve `llreg` integer type generation for SysV ABIgingerBill2023-03-191-58/+79
|
* Improve SysV ABI for multiple return values that fit into a single register; ↵gingerBill2023-03-191-4/+8
| | | | Fixes #2384
* Merge branch 'master' into compiler-improvements-2022-12gingerBill2022-12-211-1/+1
|\
| * Change the order of the args and ret for Arm64 ABIgingerBill2022-12-211-1/+1
| |
* | `gb_internal` LLVM backendgingerBill2022-12-181-77/+77
|/
* Naïve optimization of named _split_ multiple return valued when `defer` is ↵gingerBill2022-11-251-1/+3
| | | | | | | | | | never used This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables are not allocated to represent the named return values by using that specific memory. In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not, or is ever passed to a nested procedure call (e.g. possibly escapes).
* Make split multiple return logic only work for the native Odin calling ↵gingerBill2022-11-241-1/+11
| | | | conventions
* Add split multiple return to different ABIsgingerBill2022-11-241-43/+75
|
* Basic support for new ABI experiment on Win64gingerBill2022-11-231-21/+90
|
* Improve SysV ABI LLVM IR generation for development purposesgingerBill2022-10-301-1/+26
|
* Force call site attributes for procedures (relating to #2121 causing ABI ↵gingerBill2022-10-101-18/+18
| | | | issues for `intrinsics.objc_send`)
* Correct max alignment handling throughout the llvm backendgingerBill2022-08-241-1/+1
|
* Wrap all `LLVMGetElementType` usesgingerBill2022-08-091-8/+8
|
* Eliminate use of LLVMGetElementType for pointersgingerBill2022-08-091-2/+8
|
* Fix #1834gingerBill2022-07-241-7/+14
|
* Unify abi for wasm32 and the future wasm64gingerBill2022-05-211-7/+2
|
* Improve ABI design for wasm32 targetsgingerBill2022-05-211-18/+36
|
* Add basic arm32 ABI support (linux_arm32)gingerBill2022-05-011-0/+88
|
* Change target name to `freestanding_amd64_sysv`gingerBill2022-02-231-2/+2
|
* Add `freestanding_amd64_gnu`gingerBill2022-02-201-1/+3
|
* Allow sysv and win64 calling conventions to be used on any platform on amd64gingerBill2022-02-161-0/+6
|
* Rename architecture `386` to `i386`gingerBill2022-01-151-1/+1
|
* This adds code which checks how big the return is and if it is to big ↵Platin212021-12-271-1/+14
| | | | returns the value via sret
* Removes unneeded lookups / Adds sret to call site which fixes the mac bugPlatin212021-12-231-6/+6
|
* Modify ABI for the wasm32gingerBill2021-11-011-8/+51
|
* Add procs for wasm32gingerBill2021-10-311-0/+5
|
* Separate out the ABI for wasm32 from 386gingerBill2021-10-311-1/+65
|
* Begin work on supporting `wasm64`; Correct `wasm32` compilation behaviourgingerBill2021-10-301-4/+12
|
* Improve use of vector muladd operationsgingerBill2021-10-251-1/+12
|
* Correct ABI for windows with LLVMgingerBill2021-10-021-3/+3
|
* Replace many uses of `heap_allocator()` with `permanent_allocator()`gingerBill2021-09-131-6/+6
|
* Add sanity casts for 32/64 bit correctnessgingerBill2021-07-121-4/+4
|
* Improve vector arithmetic generation for array programming operationsgingerBill2021-06-121-0/+1
|
* Replace `js_wasm32` with `freestanding_wasm32`gingerBill2021-06-081-1/+1
|
* Modify ABI for the Odin calling conventions on SysV slightlygingerBill2021-05-221-30/+14
|
* Minor ABI change and cleanupgingerBill2021-05-171-2/+2
|
* Remove unneeded assertgingerBill2021-05-111-1/+0
|
* Add `byval` with `align`, `sret` attributes for SysVgingerBill2021-05-111-12/+27
|
* Improve SysV ABIgingerBill2021-05-111-21/+41
|
* Correct SysV ABI for `-> (f32, bool)`gingerBill2021-05-101-0/+5
|
* Remove non-InContext type creationsgingerBill2021-05-031-104/+0
|