| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | fix not setting cc before using it in abi computations | Laytan Laats | 2024-07-01 | 1 | -1/+1 |
| | | |||||
| * | make structs with multiple fields always return indirect in wasm c abi | Laytan Laats | 2024-07-01 | 1 | -8/+8 |
| | | |||||
| * | fix large ints amd64 sysv abi | Laytan Laats | 2024-06-09 | 1 | -1/+9 |
| | | | | | Fixes #3707 | ||||
| * | compiler: support returning 0 sized types in arm64 abi | Laytan Laats | 2024-04-24 | 1 | -2/+3 |
| | | |||||
| * | fix amd64 sysv abi to pass asan everywhere | Laytan Laats | 2024-04-04 | 1 | -32/+15 |
| | | | | | | | | | | | | | | | | I verified the PR by running the entire test suite of Odin itself with `-sanitize:address` and also the ols test suite (which caused unique problems before). A test has also been added with some problematic code, Windows seems to have problems with asan in CI or in general so it is not ran there. The LB_ABI_COMPUTE_RETURN_TYPES block has been removed entirely because it was unused, I got pretty confused why it didn't effect anything at first. Fixes #3211 | ||||
| * | Merge pull request #3372 from laytan/fix-lbarg-ignore-logic | gingerBill | 2024-04-04 | 1 | -1/+1 |
| |\ | | | | | fix lbArg_Ignore logic | ||||
| | * | fix lbArg_Ignore logic | Laytan Laats | 2024-04-04 | 1 | -1/+1 |
| | | | | | | | | | Fixes #2698 | ||||
| * | | fix 128 bit int alignment on arm64 | Laytan Laats | 2024-04-04 | 1 | -1/+1 |
| |/ | | | | Fixes #2403 | ||||
| * | Disable packing on ARM64 and AMD64 | gingerBill | 2024-03-28 | 1 | -2/+4 |
| | | |||||
| * | Fix wasm abi | gingerBill | 2024-03-26 | 1 | -1/+1 |
| | | |||||
| * | darwin: arm64 abi fixes | Laytan Laats | 2024-03-23 | 1 | -2/+19 |
| | | | | | | | | | | | | | | | | Since commit b4fe9677a1f69acde12e7cf296269f0c4d98362f some core tests segfault during build, upon investigation it is because some arg types were of size 0 and you can't have a 0 sized int. It also applies the earlier fix for parameters to the return types, this fixes #3223 Thought I would put this PR up, but I am in no way an expert in abi so feel free to close for a better fix if there is one. I am able to run the entire core test suite with `-sanitize:address` with these changes. | ||||
| * | Try doing `<{i64, i32}>` instead of `[i64, i64]` for ARM64 12-byte parameters | gingerBill | 2024-03-20 | 1 | -1/+15 |
| | | |||||
| * | Force packed structs in ABI parameters | gingerBill | 2024-03-20 | 1 | -2/+2 |
| | | |||||
| * | Change ARM64 ABI for integer-like parameters | gingerBill | 2024-03-20 | 1 | -8/+2 |
| | | |||||
| * | Update ARM64 ABI return type | gingerBill | 2024-03-20 | 1 | -8/+3 |
| | | |||||
| * | Begin work on making the type info table be constantly initialized | gingerBill | 2023-09-22 | 1 | -7/+7 |
| | | |||||
| * | Fix typo in wasm64p32 abi | gingerBill | 2023-06-07 | 1 | -1/+1 |
| | | |||||
| * | Ignore non-variable parameters | gingerBill | 2023-06-07 | 1 | -3/+6 |
| | | |||||
| * | Change ABI for wasm64p32 on slices and structs | gingerBill | 2023-06-07 | 1 | -16/+42 |
| | | |||||
| * | Merge branch 'master' into separate-int-word-sizes | gingerBill | 2023-06-06 | 1 | -10/+27 |
| |\ | |||||
| | * | Merge pull request #2563 from charles-l/master | gingerBill | 2023-05-29 | 1 | -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"` annotation | charles | 2023-05-29 | 1 | -9/+22 |
| | | | | |||||
| | * | | Fix #2561 - ARM64 ABI bug for homogenous structs with more than 4 elements | gingerBill | 2023-05-29 | 1 | -1/+5 |
| | |/ | |||||
| * | | Rename `word_size` to `ptr_size` internally to make it clearer | gingerBill | 2023-04-20 | 1 | -4/+4 |
| | | | |||||
| * | | Begin work on new pseudo-architecture: wasm64p32 | gingerBill | 2023-04-20 | 1 | -1/+1 |
| |/ | |||||
| * | Improve `llreg` integer type generation for SysV ABI | gingerBill | 2023-03-19 | 1 | -58/+79 |
| | | |||||
| * | Improve SysV ABI for multiple return values that fit into a single register; ↵ | gingerBill | 2023-03-19 | 1 | -4/+8 |
| | | | | | Fixes #2384 | ||||
| * | Merge branch 'master' into compiler-improvements-2022-12 | gingerBill | 2022-12-21 | 1 | -1/+1 |
| |\ | |||||
| | * | Change the order of the args and ret for Arm64 ABI | gingerBill | 2022-12-21 | 1 | -1/+1 |
| | | | |||||
| * | | `gb_internal` LLVM backend | gingerBill | 2022-12-18 | 1 | -77/+77 |
| |/ | |||||
| * | Naïve optimization of named _split_ multiple return valued when `defer` is ↵ | gingerBill | 2022-11-25 | 1 | -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 ↵ | gingerBill | 2022-11-24 | 1 | -1/+11 |
| | | | | | conventions | ||||
| * | Add split multiple return to different ABIs | gingerBill | 2022-11-24 | 1 | -43/+75 |
| | | |||||
| * | Basic support for new ABI experiment on Win64 | gingerBill | 2022-11-23 | 1 | -21/+90 |
| | | |||||
| * | Improve SysV ABI LLVM IR generation for development purposes | gingerBill | 2022-10-30 | 1 | -1/+26 |
| | | |||||
| * | Force call site attributes for procedures (relating to #2121 causing ABI ↵ | gingerBill | 2022-10-10 | 1 | -18/+18 |
| | | | | | issues for `intrinsics.objc_send`) | ||||
| * | Correct max alignment handling throughout the llvm backend | gingerBill | 2022-08-24 | 1 | -1/+1 |
| | | |||||
| * | Wrap all `LLVMGetElementType` uses | gingerBill | 2022-08-09 | 1 | -8/+8 |
| | | |||||
| * | Eliminate use of LLVMGetElementType for pointers | gingerBill | 2022-08-09 | 1 | -2/+8 |
| | | |||||
| * | Fix #1834 | gingerBill | 2022-07-24 | 1 | -7/+14 |
| | | |||||
| * | Unify abi for wasm32 and the future wasm64 | gingerBill | 2022-05-21 | 1 | -7/+2 |
| | | |||||
| * | Improve ABI design for wasm32 targets | gingerBill | 2022-05-21 | 1 | -18/+36 |
| | | |||||
| * | Add basic arm32 ABI support (linux_arm32) | gingerBill | 2022-05-01 | 1 | -0/+88 |
| | | |||||
| * | Change target name to `freestanding_amd64_sysv` | gingerBill | 2022-02-23 | 1 | -2/+2 |
| | | |||||
| * | Add `freestanding_amd64_gnu` | gingerBill | 2022-02-20 | 1 | -1/+3 |
| | | |||||
| * | Allow sysv and win64 calling conventions to be used on any platform on amd64 | gingerBill | 2022-02-16 | 1 | -0/+6 |
| | | |||||
| * | Rename architecture `386` to `i386` | gingerBill | 2022-01-15 | 1 | -1/+1 |
| | | |||||
| * | This adds code which checks how big the return is and if it is to big ↵ | Platin21 | 2021-12-27 | 1 | -1/+14 |
| | | | | | returns the value via sret | ||||
| * | Removes unneeded lookups / Adds sret to call site which fixes the mac bug | Platin21 | 2021-12-23 | 1 | -6/+6 |
| | | |||||
| * | Modify ABI for the wasm32 | gingerBill | 2021-11-01 | 1 | -8/+51 |
| | | |||||