aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_general.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Increase use of `temporary_allocator()` where possiblegingerBill2023-03-161-2/+7
|
* Reserve memory for procedures when generating the LLVM IRgingerBill2023-03-161-2/+7
|
* Minimize stack wastage with compound literals defining variablesgingerBill2023-02-171-0/+1
|
* fix #by_ptr argument overrides for LinuxPhil Homan2023-02-151-0/+4
|
* Remove set volatile for storegingerBill2023-02-141-1/+1
|
* Move in_multi_assignment check tightergingerBill2023-02-141-2/+2
|
* Add extra checks for multiple assignments when emitting storesgingerBill2023-01-271-5/+7
|
* Replace `BlockingMutex` with `RwMutex`gingerBill2023-01-161-14/+14
|
* Replace `RecursiveMutex` with a `BlockingMutex`gingerBill2023-01-161-9/+11
|
* Move the mutex up a littlegingerBill2023-01-161-1/+1
|
* Enforce atomic on hasher idgingerBill2023-01-161-0/+1
|
* Minimize `StringMap` structure usagegingerBill2023-01-141-2/+2
|
* Clean up use of `StringMap`gingerBill2023-01-131-0/+1
|
* Split out object generation moregingerBill2023-01-121-2/+4
|
* Prepare for arbitrary separate modulesgingerBill2023-01-121-2/+14
|
* Begin to generalize modules away from `AstPackage *` in `-use-separate-modules`gingerBill2023-01-121-12/+17
|
* Correct missing procedures in other build modules which cause a linkage problemgingerBill2023-01-121-1/+9
|
* Multi thread more of the backend where possiblegingerBill2023-01-051-0/+1
|
* Begin multithreading the llvm backend when `-use-separate-modules` is enabledgingerBill2023-01-051-3/+18
|
* Make all maps use heap allocator implicitlygingerBill2023-01-031-22/+22
|
* Use heap_allocator for all hash set typesgingerBill2023-01-031-1/+1
|
* Remove unneeded `local_entity_map`gingerBill2023-01-021-4/+0
|
* Correct a race condition when checking the procedure bodygingerBill2023-01-021-1/+4
|
* Remove the synchronization primitive init/destroy callsgingerBill2023-01-011-1/+0
|
* Remove dead code in the compilergingerBill2022-12-181-68/+0
|
* `gb_internal` LLVM backendgingerBill2022-12-181-91/+91
|
* Replace compiler for loops for the hash-table types to simplify code usagegingerBill2022-12-091-4/+4
|
* Naïve optimization of named _split_ multiple return valued when `defer` is ↵gingerBill2022-11-251-2/+2
| | | | | | | | | | 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).
* Merge branch 'master' into multiple-return-abi-experimentgingerBill2022-11-231-1/+9
|\
| * Fix LLVM type cycle nonsense with procedure typesgingerBill2022-11-231-1/+9
| |
* | Basic support for new ABI experiment on Win64gingerBill2022-11-231-20/+15
|/
* Fix #2202gingerBill2022-11-211-0/+3
|
* Revert "Minor improvement to multi return value reducing stack usage"gingerBill2022-11-131-14/+10
|
* Minor improvement to multi return value reducing stack usagegingerBill2022-11-131-10/+14
|
* Begin work on map static setgingerBill2022-11-111-1/+2
|
* Change map internal calls to use a pointergingerBill2022-11-091-2/+2
|
* Allow for `-use-static-map-calls` which generates a get procedure per `map`; ↵gingerBill2022-11-081-0/+1
| | | | add `runtime.map_get`
* Change `__dynamic_map_get` signaturegingerBill2022-11-081-2/+2
|
* Make `Map_Info` store pointers to cell info rather than inlinegingerBill2022-11-081-0/+1
|
* Remove the need for `type->Map.internal_type` and replace with the ↵gingerBill2022-11-081-18/+2
| | | | definition of `runtime.Raw_Map`
* Begin work on implementing the new `map` internalsgingerBill2022-11-071-19/+5
|
* Fix #2167 `context.assertion_failure_proc = nil` (context field assignments)gingerBill2022-11-011-8/+19
|
* Use direct parameter value in `lb_find_ident` when possiblegingerBill2022-10-301-0/+9
|
* Remove extra pointer indirectiongingerBill2022-09-271-2/+2
|
* Override lbArgKind to be indirect for `#by_ptr` parametersgingerBill2022-09-271-0/+11
|
* Clean up private internal constant global handlinggingerBill2022-09-221-16/+18
|
* Reduce unnecessary map getsgingerBill2022-09-211-16/+4
|
* Change `__dynamic_map_get` and `__dynamic_map_set` to use separate ↵gingerBill2022-09-171-21/+20
| | | | parameters rather than take a singular struct
* Revert "Just get the value directly and store it in another global variable"gingerBill2022-09-141-10/+5
| | | | This reverts commit 190c3ab0cdc031e45d450e64715452fb2e576d1e.
* Just get the value directly and store it in another global variablegingerBill2022-09-141-5/+10
| | | | | // global x := &Foo{}