aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Improve handling of passing constants to implicit immutable const ref parametersgingerBill2023-02-171-2/+18
| | |
* | | Rename built-in procedure to `expand_values`gingerBill2023-02-071-3/+3
| | |
* | | Enforce dynamic map calls for the time beinggingerBill2023-02-031-2/+2
| | |
* | | Minor change to `byval` for readonly parametersgingerBill2023-02-031-3/+12
| | |
* | | Use `~{}` syntaxgingerBill2023-01-231-1/+1
| | |
* | | Escape `$` in asmgingerBill2023-01-231-1/+1
| | |
* | | Fix #2286 by printing an error correctlygingerBill2023-01-161-1/+3
| | |
* | | Fix #2305gingerBill2023-01-161-1/+8
| | |
* | | Begin to generalize modules away from `AstPackage *` in `-use-separate-modules`gingerBill2023-01-121-1/+1
| | |
* | | Correct missing procedures in other build modules which cause a linkage problemgingerBill2023-01-121-6/+8
| | |
* | | Make all maps use heap allocator implicitlygingerBill2023-01-031-5/+5
| | |
* | | Remove unneeded `local_entity_map`gingerBill2023-01-021-1/+0
| | |
* | | Correct a race condition when checking the procedure bodygingerBill2023-01-021-1/+2
| | |
* | | Revert "Change `tav` to be a pointer internally"gingerBill2022-12-221-10/+10
| | | | | | | | | | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d.
* | | Change `tav` to be a pointer internallygingerBill2022-12-221-10/+10
| | |
* | | Remove dead code in the compilergingerBill2022-12-181-48/+40
| | |
* | | `gb_internal` LLVM backendgingerBill2022-12-181-28/+27
| | |
* | | Initialize the multiple return value map in `lb_create_dummy_procedure`gingerBill2022-12-071-0/+1
| | |
* | | Naïve optimization of named _split_ multiple return valued when `defer` is ↵gingerBill2022-11-251-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 returnsgingerBill2022-11-241-1/+8
| | |
* | | Basic copy elision support for multiple return valuesgingerBill2022-11-241-17/+43
| | |
* | | Listen to past Bill's wisdomgingerBill2022-11-231-24/+10
| | |
* | | Basic support for new ABI experiment on Win64gingerBill2022-11-231-18/+75
| | |
* | | Remove copy elision codegingerBill2022-11-221-8/+3
| | |
* | | Fix #2179gingerBill2022-11-211-1/+1
| | |
* | | Fix #2199gingerBill2022-11-211-1/+1
| | |
* | | Revert "Minor improvement to multi return value reducing stack usage"gingerBill2022-11-131-35/+9
| | |
* | | Enforce pointer castgingerBill2022-11-131-0/+1
| | |
* | | Minor improvement to multi return value reducing stack usagegingerBill2022-11-131-8/+34
| | |
* | | Merge branch 'master' into map-devgingerBill2022-11-111-9/+9
|\ \ \
| * | | Make `intrinsics.ptr_sub` use explicit integer arithmetic internallygingerBill2022-11-111-9/+9
| | | |
* | | | Correct static map get; make get take a pointer to simplify compiler internalsgingerBill2022-11-101-2/+2
| | | |
* | | | Add `intrinsics.map_cell_info` and `intrinsics.map_info`gingerBill2022-11-081-0/+4
| | | |
* | | | Make `Map_Info` store pointers to cell info rather than inlinegingerBill2022-11-081-0/+3
|/ / /
* | | Ad-hoc pass source code location directly by pointer without stack copygingerBill2022-10-311-2/+9
| | |
* | | Optimize `#caller_location` and `#location` to use read only data section ↵gingerBill2022-10-311-2/+2
| | | | | | | | | | | | where possible
* | | Use direct parameter value in `lb_find_ident` when possiblegingerBill2022-10-301-0/+4
| | |
* | | Make `raw_data` an intrinsic rather a `@(builtin)` runtime proceduregingerBill2022-10-301-0/+31
| | |
* | | Force call site attributes for procedures (relating to #2121 causing ABI ↵gingerBill2022-10-101-0/+14
| | | | | | | | | | | | issues for `intrinsics.objc_send`)
* | | Remove header cache codegingerBill2022-09-211-4/+0
| | |
* | | Reduce unnecessary map getsgingerBill2022-09-211-1/+1
| | |
* | | Correct `lb_gen_map_header` initializationgingerBill2022-09-171-0/+2
| | |
* | | Use a cache when generating the map header to minimize stack wastagegingerBill2022-09-171-2/+3
| | |
* | | Fix #2054 Differing behaviours with defer statements for single vs multiple ↵gingerBill2022-09-171-14/+7
| | | | | | | | | | | | return values caused by naïve ABI optimization
* | | Fix debug generation for named resultsgingerBill2022-09-121-1/+1
| | |
* | | Improve debug info to named return valuesgingerBill2022-09-121-1/+4
| | |
* | | Unify debug parameter codegingerBill2022-09-101-2/+2
| | |
* | | Split debug info generation for direct and indirect parametersgingerBill2022-09-091-2/+2
| | |
* | | Fix procedure pointer castgingerBill2022-09-071-0/+3
| | |
* | | Fix code generation related to Objective-C related `x->y()` callsgingerBill2022-09-011-3/+2
| | |