aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_general.cpp
Commit message (Collapse)AuthorAgeFilesLines
* More const union improvementsgingerBill2025-09-241-2/+3
|
* Improve const union attempsgingerBill2025-09-241-0/+22
|
* Try to improve const `union` LLVM constructiongingerBill2025-09-241-16/+62
|
* Add missing `gen`gingerBill2025-09-231-1/+2
|
* Remove extra checksgingerBill2025-09-191-13/+2
|
* Handle missing procedures bettergingerBill2025-09-191-2/+7
|
* Remove comments of dead codegingerBill2025-09-191-4/+0
|
* Convert `missing_procedures_to_check` to a queuegingerBill2025-09-191-8/+4
|
* Convert `procedures_to_generate` to a queuegingerBill2025-09-191-3/+15
|
* Temporarily revert anonymous procedure load balancinggingerBill2025-09-191-0/+7
|
* Allow unions with one variant to be constantgingerBill2025-09-191-1/+12
|
* Distribute anonymous procedure literals correctly across LLVM modulesgingerBill2025-09-191-12/+36
|
* `Entity *` to `std::atomic<Entity *>` to remove the need for a PtrMap+MutexgingerBill2025-09-191-12/+9
|
* Multithread `lb_module_init`gingerBill2025-09-181-6/+28
|
* More improvements to minimize code gen sizegingerBill2025-09-181-3/+3
|
* Change mutex usage for missing proceduresgingerBill2025-09-181-2/+4
|
* Use multiple modules per file in package runtimegingerBill2025-09-181-2/+6
|
* Try moving parapoly procs into a separate module when doing weak ↵gingerBill2025-09-181-8/+55
| | | | monomorphization
* Merge pull request #5553 from flysand7/ice-fixJeroen van Rijn2025-08-071-0/+1
|\ | | | | Fix ICE on missing procedure in base:runtime
| * Fix ICE on missing procedure in base:runtimeSunagatov Denis2025-08-081-0/+1
| | | | | | | | | | | | | | | | | | | | When a required built-in procedure is missing from the base:runtime package, an assert should be triggered. However this does not happen and instead the compiler crashes silently. The cause is the null-dereference after scope_lookup_current returns nullptr. This adds an assertion that the runtime procedure is found, before proceeding to check it's type and performing further lookups.
* | Fix string16 literal length set in LLVMgingerBill2025-08-021-2/+2
| |
* | Cache const `string16` in LLVMgingerBill2025-08-021-1/+70
| |
* | Begin supporting `string16` across the core librarygingerBill2025-08-021-0/+37
| |
* | Add `string16` and `cstring16` (UTF-16 based strings)gingerBill2025-08-021-0/+31
| |
* | concrete types to make llvm 14 happyLaytan2025-08-011-5/+8
| | | | | | | | | | | | Fixes #5463 Fixes #5244 Fixes #5435
* | Fix leftover poor indentation for objc_ivars MPSCQueueHarold Brenes2025-07-131-2/+2
| |
* | [source-code-locations] - added options to show, obfuscate, and hide source ↵Hayden Gray2025-06-261-1/+13
|/ | | | code locations (#5412)
* Fix WASM C ABI for raw unionsLaytan Laats2025-06-201-1/+1
|
* fix swizzle in for in statementLaytan Laats2025-06-021-3/+6
| | | | Fixes #1730
* Merge branch 'master' into bill/raddebugger-custom-sectiongingerBill2025-05-221-25/+100
|\
| * fix global and static anyLaytan Laats2025-05-171-19/+24
| | | | | | | | Fixes #4627
| * some ABI fixups and improvementsLaytan Laats2025-05-091-3/+55
| | | | | | | | | | | | | | | | | | | | | | Started with trying to enable asan in the CI for MacOS, noticed it wasn't enabled on the `tests/internal` folder, it came up with a couple of issues with the abi/OdinLLVMBuildTransmute that this also solves. - Looking at clang output for arm64, we should be promoting `{ i64, i32 }` to `{ i64, i64 }` - after doing the previous point, I noticed this is not handled well in OdinLLVMBuildTransmute which was emitting loads and stores into the space of a value that was alignment, asan does not want this, looking at clang output again, a memcpy is the appropriate way of handling this. - Having done this we don't need the hacky "return is packed" set anymore in the amd64 sysv ABI anymore either
| * Merge pull request #5117 from bogwi/bug/5024gingerBill2025-05-091-2/+18
| |\ | | | | | | Bug/5024
| | * CHECK 2 donebogwi2025-05-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | Add support for handling generic types in LLVM backend - Updated `lb_type_internal` to return a pointer type for unspecialized generics. - Modified `write_type_to_canonical_string` to handle specialized generics without panicking. - Enhanced `default_type` to return the default type of specialized generics when applicable.
| | * CHECK 1 donebogwi2025-05-051-2/+10
| | | | | | | | | | | | | | | | | | | | | Fix panic in LLVM backend when using generic procedure with default arguments - Fixed panic in `llvm_backend_proc.cpp` when using unspecialized polymorphic procedures as defaults. - Ensured correct type inference when generic procedures are used as default parameters.
| * | Merge pull request #5064 from harold-b/hb/objc-classesgingerBill2025-05-081-0/+2
| |\ \ | | | | | | | | Add support for Objective-C class implementation
| | * | Fix indentationsHarold Brenes2025-04-271-2/+2
| | | | | | | | | | | | | | | | Fix Objective-C wrapper procs not forwarding return value
| | * | Add initial support for Objective-C class implementationHarold Brenes2025-04-201-0/+2
| | |/
* | / Move raddbg string stuff to a thread-safe queuegingerBill2025-05-071-0/+1
|/ /
* / Add asan support for various allocatorsLucas Perlind2025-05-061-0/+7
|/
* Propagate `@(link_section=<string>)` to nested declarationsgingerBill2025-04-081-8/+15
|
* Rewrite objc SEL/Class register handling codegingerBill2025-04-031-0/+2
|
* fix off by one temp cstring and put objc names on permanent allocator to be safeLaytan Laats2025-03-211-5/+1
| | | | Fixes #4922
* Fix object name generation to previous behaviourgingerBill2025-03-061-23/+50
|
* Improve global array index to be on a per module basisgingerBill2025-02-251-14/+11
|
* Make `lb_add_global_generated_from_procedure` not use a global index but ↵gingerBill2025-02-251-6/+2
| | | | local to procedure
* Fix `lb_add_global_generated_with_name`gingerBill2025-02-251-2/+3
|
* Use more predictable object namegingerBill2025-02-251-6/+9
|
* Use more deterministic module namesgingerBill2025-02-251-2/+9
|
* Try to make globally generated variables deterministic in namegingerBill2025-02-251-24/+11
|