aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.hpp
Commit message (Collapse)AuthorAgeFilesLines
* remove is_packed bodgeLaytan Laats2024-05-071-1/+0
|
* fix packed gep loads with wrong alignmentLaytan Laats2024-05-071-0/+1
|
* llvm-18: cleanupLaytan Laats2024-05-071-9/+4
|
* Add metadata to packed structs field accesses to state it is packedgingerBill2024-05-071-1/+5
|
* Improve codegen for `bit_field` compound literals with an integer backinggingerBill2024-04-241-1/+0
|
* debug info fixes/refactorLaytan Laats2024-04-011-2/+0
| | | | | | | | | | | | | | | | | | This fixes (on my end) #3340, #3117, #2945, #2922, and #2762 A general refactor of debug info generation in order to fix issues and increase stability. What I believe is the root cause of a bunch of issues is that we use the temporary metadata/forward declarations too much (/ hold onto them for too long). It seems to cause problems with the reference counting inside LLVM. This PR reduces the use of these forward declarations to a minimum, it creates it, fills in the fields, and resolves it, instead of waiting until the end of generating code. Some smaller issues I came across have also been solved.
* Fix `case:` bug with by-ref unionsgingerBill2024-03-181-1/+1
|
* Make `lb_type_info` use a procedure to load the global valuegingerBill2024-02-271-1/+1
|
* Remove `__$startup_type_info` proceduregingerBill2024-02-271-2/+0
|
* Add general support for `bit_field`sgingerBill2024-02-221-0/+8
|
* fix instrumentation in debug modeLaytan2024-02-081-0/+2
|
* Update instrumentation signature to support `runtime.Source_Code_Location` ↵gingerBill2024-01-091-0/+2
| | | | as last parameter.
* Implement instrumentation passgingerBill2024-01-071-1/+1
|
* Improve returning a struct directly for certain ABIs; reuse the temp callee ↵gingerBill2023-11-241-0/+2
| | | | return struct memory when needed
* mem zero rather than store to a union where the variant is of size zerogingerBill2023-11-241-0/+1
|
* Only check LLVM_VERSION_MAJOR >= 17 for PassBuilder inclusionjcmdln2023-10-151-1/+1
|
* Support LLVM >=17.0.1 on Darwin and Linuxjcmdln2023-10-111-0/+4
|
* Add `or_break` and `or_continue` constructsgingerBill2023-09-301-0/+2
|
* Begin work on making the type info table be constantly initializedgingerBill2023-09-221-0/+11
|
* Update ABI breaking changes for `f16` types (due to LLVM 15+)gingerBill2023-09-211-0/+14
|
* Add `-o:aggressive` for LLVM 17gingerBill2023-09-211-0/+1
|
* Update to LLVM-17gingerBill2023-09-191-7/+3
|
* Remove #relative slices; Replace with #relative multi-pointersgingerBill2023-08-051-1/+0
|
* Move linker code into separate filegingerBill2023-07-241-9/+1
|
* Very start of working on Tilde Backend for OdingingerBill2023-07-141-0/+2
|
* Generalize name mangling rule to have a singular definition for a name separatordev-2023-07gingerBill2023-07-071-0/+2
|
* Fix a race condition when produced anonymous procedure literals with ↵gingerBill2023-06-131-1/+3
| | | | `-use-separate-modules`
* Make all id suffixes use atomics where possiblegingerBill2023-06-121-1/+1
|
* Merge branch 'master' into separate-int-word-sizesgingerBill2023-06-061-1/+1
|\
| * implement random map seedjason2023-05-161-1/+1
| |
* | Rename `word_size` to `ptr_size` internally to make it clearergingerBill2023-04-201-1/+1
|/
* Fix race condition with -use-separate-modules due to type determinationgingerBill2023-04-181-3/+5
|
* Add missing enumgingerBill2023-04-181-0/+1
|
* Simplify copy elision on variable declarationsgingerBill2023-03-161-2/+0
|
* Fix value elision on declarationgingerBill2023-03-091-0/+2
|
* Minimize stack wastage with compound literals defining variablesgingerBill2023-02-171-0/+2
|
* Implement `@(fini)` (opposite of `@(init)`)gingerBill2023-02-151-0/+2
|
* Minor change to `byval` for readonly parametersgingerBill2023-02-031-0/+1
|
* Add extra checks for multiple assignments when emitting storesgingerBill2023-01-271-0/+1
|
* Replace `BlockingMutex` with `RwMutex`gingerBill2023-01-161-1/+1
|
* Replace `RecursiveMutex` with a `BlockingMutex`gingerBill2023-01-161-1/+1
|
* Prepare for arbitrary separate modulesgingerBill2023-01-121-1/+2
|
* Begin to generalize modules away from `AstPackage *` in `-use-separate-modules`gingerBill2023-01-121-1/+1
|
* Fix macro issuegingerBill2023-01-111-1/+1
|
* Multi thread more of the backend where possiblegingerBill2023-01-051-0/+1
|
* Refactor llvm backend code into separate procedures to make it simpler to ↵gingerBill2023-01-051-1/+1
| | | | profile
* enum-ifiy function pass managers for `lbModule`gingerBill2023-01-051-0/+14
|
* Unify function pass managers for auxiliary procedures (e.g. startup type ↵gingerBill2023-01-051-0/+4
| | | | info, runtime, objc names)
* Begin multithreading the llvm backend when `-use-separate-modules` is enabledgingerBill2023-01-051-0/+3
|
* Remove unneeded `local_entity_map`gingerBill2023-01-021-1/+0
|