| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 |
| | | |||||
| * | Naïve optimization of named _split_ multiple return valued when `defer` is ↵ | gingerBill | 2022-11-25 | 1 | -12/+64 |
| | | | | | | | | | | | 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). | ||||
| * | Correct return ptr semantics for split returns | gingerBill | 2022-11-24 | 1 | -1/+8 |
| | | |||||
| * | Basic copy elision support for multiple return values | gingerBill | 2022-11-24 | 1 | -17/+43 |
| | | |||||
| * | Listen to past Bill's wisdom | gingerBill | 2022-11-23 | 1 | -24/+10 |
| | | |||||
| * | Basic support for new ABI experiment on Win64 | gingerBill | 2022-11-23 | 1 | -18/+75 |
| | | |||||
| * | Remove copy elision code | gingerBill | 2022-11-22 | 1 | -8/+3 |
| | | |||||
| * | Fix #2179 | gingerBill | 2022-11-21 | 1 | -1/+1 |
| | | |||||
| * | Fix #2199 | gingerBill | 2022-11-21 | 1 | -1/+1 |
| | | |||||
| * | Revert "Minor improvement to multi return value reducing stack usage" | gingerBill | 2022-11-13 | 1 | -35/+9 |
| | | |||||
| * | Enforce pointer cast | gingerBill | 2022-11-13 | 1 | -0/+1 |
| | | |||||
| * | Minor improvement to multi return value reducing stack usage | gingerBill | 2022-11-13 | 1 | -8/+34 |
| | | |||||
| * | Merge branch 'master' into map-dev | gingerBill | 2022-11-11 | 1 | -9/+9 |
| |\ | |||||
| | * | Make `intrinsics.ptr_sub` use explicit integer arithmetic internally | gingerBill | 2022-11-11 | 1 | -9/+9 |
| | | | |||||
| * | | Correct static map get; make get take a pointer to simplify compiler internals | gingerBill | 2022-11-10 | 1 | -2/+2 |
| | | | |||||
| * | | Add `intrinsics.map_cell_info` and `intrinsics.map_info` | gingerBill | 2022-11-08 | 1 | -0/+4 |
| | | | |||||
| * | | Make `Map_Info` store pointers to cell info rather than inline | gingerBill | 2022-11-08 | 1 | -0/+3 |
| |/ | |||||
| * | Ad-hoc pass source code location directly by pointer without stack copy | gingerBill | 2022-10-31 | 1 | -2/+9 |
| | | |||||
| * | Optimize `#caller_location` and `#location` to use read only data section ↵ | gingerBill | 2022-10-31 | 1 | -2/+2 |
| | | | | | where possible | ||||
| * | Use direct parameter value in `lb_find_ident` when possible | gingerBill | 2022-10-30 | 1 | -0/+4 |
| | | |||||
| * | Make `raw_data` an intrinsic rather a `@(builtin)` runtime procedure | gingerBill | 2022-10-30 | 1 | -0/+31 |
| | | |||||
| * | Force call site attributes for procedures (relating to #2121 causing ABI ↵ | gingerBill | 2022-10-10 | 1 | -0/+14 |
| | | | | | issues for `intrinsics.objc_send`) | ||||
| * | Remove header cache code | gingerBill | 2022-09-21 | 1 | -4/+0 |
| | | |||||
| * | Reduce unnecessary map gets | gingerBill | 2022-09-21 | 1 | -1/+1 |
| | | |||||
| * | Correct `lb_gen_map_header` initialization | gingerBill | 2022-09-17 | 1 | -0/+2 |
| | | |||||