| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix read_cycle_counter intrinsic on arm64 | William Roe | 2023-08-07 | 1 | -1/+1 |
| | | | | | | | | Running this code with the hard-coded x9 register results in not returning the cycle count, but some other value. This code (using $0 as the register), works on arm64 Linux and Darwin. | ||||
| * | Remove #relative slices; Replace with #relative multi-pointers | gingerBill | 2023-08-05 | 1 | -2/+2 |
| | | |||||
| * | Fix #2699 | gingerBill | 2023-08-05 | 1 | -3/+9 |
| | | |||||
| * | Go through loads of `TODO`s | gingerBill | 2023-08-01 | 1 | -4/+1 |
| | | |||||
| * | Generalize name mangling rule to have a singular definition for a name separatordev-2023-07 | gingerBill | 2023-07-07 | 1 | -1/+1 |
| | | |||||
| * | Fix #2606 | gingerBill | 2023-06-26 | 1 | -1/+5 |
| | | |||||
| * | Fix empty varargs | gingerBill | 2023-06-21 | 1 | -0/+3 |
| | | |||||
| * | Handle `#c_vararg` | gingerBill | 2023-06-21 | 1 | -6/+9 |
| | | |||||
| * | Correct deferred procedures | gingerBill | 2023-06-21 | 1 | -87/+109 |
| | | |||||
| * | Fix constant parameter passing | gingerBill | 2023-06-21 | 1 | -17/+27 |
| | | |||||
| * | Correct purely named argument handling | gingerBill | 2023-06-21 | 1 | -248/+2 |
| | | |||||
| * | Start work on parapoly args for new and improved | gingerBill | 2023-06-20 | 1 | -1/+1 |
| | | |||||
| * | Try to get make everything work with parapoly | gingerBill | 2023-06-20 | 1 | -1/+6 |
| | | |||||
| * | Fix line error printing for error messages | gingerBill | 2023-06-19 | 1 | -7/+7 |
| | | |||||
| * | Basic support for new procedure code (non-polymorphic, non-proc-group) | gingerBill | 2023-06-15 | 1 | -0/+119 |
| | | |||||
| * | Merge pull request #1309 from Yawning/fix/freebsd-syscall | gingerBill | 2023-06-07 | 1 | -4/+45 |
| |\ | | | | | src: "Fix" the system call intrinsic for FreeBSD | ||||
| | * | Merge branch 'master' into fix/freebsd-syscall | gingerBill | 2022-07-24 | 1 | -278/+1004 |
| | |\ | |||||
| | * | | src: "Fix" the system call intrinsic for FreeBSD | Yawning Angel | 2021-11-13 | 1 | -5/+46 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FreeBSD's systemcall handler clears out R8, R9, and R10 prior to `sysretq`, and additionally returns positive errno (with CF) set on error. This modifies the syscall intrinsic such that LLVM knows about the additional clobbered registers. Note that propagating CF back to the caller of the syscall intrinsic is left for a future PR. As far as I can tell, Darwin does not use the syscall intrinsic at all, and FreeBSD only uses it for SYS_GETTID, so this should be "ok" for now. See: sys/amd64/amd64/exception.S in the FreeBSD src for more details. | ||||
| * | | | Fix wasm intrinsics; fix `len` for strings and slices | gingerBill | 2023-06-06 | 1 | -6/+6 |
| | | | | |||||
| * | | | Merge branch 'master' into separate-int-word-sizes | gingerBill | 2023-06-06 | 1 | -4/+4 |
| |\ \ \ | |||||
| | * | | | Minor change to handling of propagation of errors with `---` as a value | gingerBill | 2023-05-22 | 1 | -4/+4 |
| | | | | | |||||
| | * | | | Revert "Change `intrinsics.read_cycle_counter` on ARM64" | gingerBill | 2023-05-12 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | This reverts commit b567679eb6cf3fd1820a6163c1f17d620d88894f. | ||||
| | * | | | Change `intrinsics.read_cycle_counter` on ARM64 | gingerBill | 2023-05-12 | 1 | -1/+1 |
| | | | | | |||||
| * | | | | Rename `word_size` to `ptr_size` internally to make it clearer | gingerBill | 2023-04-20 | 1 | -2/+2 |
| |/ / / | |||||
| * | | | Merge pull request #2464 from ap29600/simd_unaligned_load | gingerBill | 2023-04-20 | 1 | -5/+19 |
| |\ \ \ | | | | | | | | | Improve code generation for `intrinsics.unaligned_load/store` on `#simd` types | ||||
| | * | | | improve code generation for `intrinsics.unaligned_load/store` on `#simd` types | Andrea Piseri | 2023-04-16 | 1 | -5/+19 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the default implementation calls memcpy on an `alloca` constant, which seems to heavily confuse the optimizer and produces overall suboptimal code. Introducing this specialization simplifies the intermediate representation produced, resulting in more efficient code. | ||||
| * | | | | Merge pull request #2450 from destroycomputers/master | gingerBill | 2023-04-20 | 1 | -1/+1 |
| |\ \ \ \ | | | | | | | | | | | Fix intrinsics.alloca code generation | ||||
| | * | | | | Fix intrinsics.alloca code generation | destroycomputers | 2023-04-11 | 1 | -1/+1 |
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There was a disconnect between the declared return type for alloca intrinsic in check_builtin.cpp (multi_pointer(t_u8)) and the generated result type in llvm_backend_proc.cpp (t_u8_ptr). This allowed slicing the return type, but in the code generation process the type of the expression wasn't sliceable, which triggered the assert. Fixes #2139 | ||||
| * / / / | Add `@(deferred_*_by_ptr=<proc>)` | gingerBill | 2023-04-15 | 1 | -0/+16 |
| |/ / / | |||||
| * | | | Increase use of `temporary_allocator()` where possible | gingerBill | 2023-03-16 | 1 | -7/+7 |
| | | | | |||||
| * | | | Minimize severe memory usage by enforcing the `heap_allocator()` in places | gingerBill | 2023-03-16 | 1 | -5/+8 |
| | | | | |||||
| * | | | Fix #2329 | gingerBill | 2023-02-19 | 1 | -3/+24 |
| | | | | |||||
| * | | | Improve handling of passing constants to implicit immutable const ref parameters | gingerBill | 2023-02-17 | 1 | -2/+18 |
| | | | | |||||
| * | | | Rename built-in procedure to `expand_values` | gingerBill | 2023-02-07 | 1 | -3/+3 |
| | | | | |||||
| * | | | Enforce dynamic map calls for the time being | gingerBill | 2023-02-03 | 1 | -2/+2 |
| | | | | |||||
| * | | | Minor change to `byval` for readonly parameters | gingerBill | 2023-02-03 | 1 | -3/+12 |
| | | | | |||||
| * | | | Use `~{}` syntax | gingerBill | 2023-01-23 | 1 | -1/+1 |
| | | | | |||||
| * | | | Escape `$` in asm | gingerBill | 2023-01-23 | 1 | -1/+1 |
| | | | | |||||
| * | | | Fix #2286 by printing an error correctly | gingerBill | 2023-01-16 | 1 | -1/+3 |
| | | | | |||||
| * | | | Fix #2305 | gingerBill | 2023-01-16 | 1 | -1/+8 |
| | | | | |||||
| * | | | Begin to generalize modules away from `AstPackage *` in `-use-separate-modules` | gingerBill | 2023-01-12 | 1 | -1/+1 |
| | | | | |||||
| * | | | Correct missing procedures in other build modules which cause a linkage problem | gingerBill | 2023-01-12 | 1 | -6/+8 |
| | | | | |||||
| * | | | Make all maps use heap allocator implicitly | gingerBill | 2023-01-03 | 1 | -5/+5 |
| | | | | |||||
| * | | | Remove unneeded `local_entity_map` | gingerBill | 2023-01-02 | 1 | -1/+0 |
| | | | | |||||
| * | | | Correct a race condition when checking the procedure body | gingerBill | 2023-01-02 | 1 | -1/+2 |
| | | | | |||||
| * | | | Revert "Change `tav` to be a pointer internally" | gingerBill | 2022-12-22 | 1 | -10/+10 |
| | | | | | | | | | | | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d. | ||||
| * | | | Change `tav` to be a pointer internally | gingerBill | 2022-12-22 | 1 | -10/+10 |
| | | | | |||||
| * | | | Remove dead code in the compiler | gingerBill | 2022-12-18 | 1 | -48/+40 |
| | | | | |||||
| * | | | `gb_internal` LLVM backend | gingerBill | 2022-12-18 | 1 | -28/+27 |
| | | | | |||||
| * | | | Initialize the multiple return value map in `lb_create_dummy_procedure` | gingerBill | 2022-12-07 | 1 | -0/+1 |
| | | | | |||||