aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* vendor/wgpu: update to 27.0.2.0Laytan2025-10-151-2/+1
|
* llvm 21 supportLaytan2025-10-141-2/+2
|
* Fix entity nullptr checkHarold Brenes2025-09-291-1/+1
|
* Automatically emit objc_msgSend calls when calling imported or implemented ↵Harold Brenes2025-09-291-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Objective-C methods - Add intrinsics.objc_super() - Emit objc_msgSendSuper2 calls when an objc method call is combined with objc_super(self) - Fix objc_block return value ABI for large struct returns - Fix objc_implement method wrappers bad ABI for large struct returns and indirect args - Simplify parameter forwarding for objc_imlpement methods - Add intrinsics.objc_instancetype to mimi Objective-C instancetype* returns This facilitates returning the correct type on subclasses when calling mehtods such as `alloc`, `init`, `retain`, etc. - Refactor Objective-C class implementations generation so that hierarchies are properly initialized - Better codegen for context passing with ivar-based autocontext - Allow @superclass on imported objc-c objects - Better codegen for block forwarding invoker, arguments are forwarded directly
* Disable `#raw_union` constants for the time beingbill/const-uniongingerBill2025-09-291-6/+0
|
* Add bit castgingerBill2025-09-291-7/+14
|
* Begin to support constant array of unionsgingerBill2025-09-281-1/+1
|
* Handle missing procedures bettergingerBill2025-09-191-1/+0
|
* Convert `procedures_to_generate` to a queuegingerBill2025-09-191-1/+1
|
* `Entity *` to `std::atomic<Entity *>` to remove the need for a PtrMap+MutexgingerBill2025-09-191-1/+1
|
* Try moving parapoly procs into a separate module when doing weak ↵gingerBill2025-09-181-1/+1
| | | | monomorphization
* Multithread min dep set by removing the set itselfgingerBill2025-09-101-2/+1
|
* Handle `fixed_point_div` and `fixed_point_div_sat`gingerBill2025-08-081-4/+10
|
* Print the name of missing runtime procedureSunagatov Denis2025-08-081-0/+1
| | | | | | This continues the fix made at 46b7abee9fdd339bac31fe7bc79551f2b3881f46, by asserting on missing entity early and printing it's name if its not found.
* Implementes the block ABI.2010.3.16 natively via the `objc_block` intrinsic ↵Harold Brenes2025-08-061-0/+1
| | | | | | and the `Objc_Block` builtin type. See: https://clang.llvm.org/docs/Block-ABI-Apple.html
* Add `string16` and `cstring16` (UTF-16 based strings)gingerBill2025-08-021-0/+9
|
* Merge pull request #4140 from colrdavidson/macharenaLaytan2025-07-291-0/+15
|\ | | | | Mach Process control
| * move to checker error, rather than panicColin Davidson2025-07-291-2/+0
| |
| * switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, ↵Colin Davidson2025-07-291-6/+10
| | | | | | | | trap on invalid arch
| * use the correct frequency for the arm tsc timerColin Davidson2025-07-281-0/+13
| |
* | fix ignored args in multi return handlingLaytan2025-07-291-1/+3
|/ | | | Fixes #5483
* Merge pull request #5442 from jon-lipstate/table_lookupgingerBill2025-07-221-0/+269
|\ | | | | table lookup simd intrinsic
| * cleanup langauge / errors about table vs swizzleJon Lipstate2025-07-161-31/+31
| |
| * rename table_lookup to runtime_swizzleJon Lipstate2025-07-161-10/+10
| |
| * x86 sseJon Lipstate2025-07-051-2/+11
| |
| * fix explicit castJon Lipstate2025-07-051-4/+2
| |
| * table lookup intrinsicJon Lipstate2025-07-051-0/+262
| |
* | lb_const_string -> lb_const_valuedev-2025-07Jeroen van Rijn2025-07-071-1/+1
|/
* Ensure `volatile` status for all atomic operationsFeoramund2025-06-201-16/+18
| | | | Fixes #2410
* Push `context` onto stack before evaluating procedure parametersFeoramund2025-06-201-3/+3
| | | | Fixes #4711
* Add `@(no_sanitize_memory)` proc attribute with MSan additions to ↵Feoramund2025-06-051-1/+1
| | | | `base:sanitizer`
* Add `compress_values`gingerBill2025-05-121-0/+62
|
* Merge pull request #5117 from bogwi/bug/5024gingerBill2025-05-091-0/+12
|\ | | | | Bug/5024
| * CHECK 1 donebogwi2025-05-051-0/+12
| | | | | | | | | | | | | | 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/+1
|\ \ | | | | | | Add support for Objective-C class implementation
| * | Fix indentationsHarold Brenes2025-04-271-1/+1
| | | | | | | | | | | | Fix Objective-C wrapper procs not forwarding return value
| * | Add initial support for Objective-C class implementationHarold Brenes2025-04-201-0/+1
| | |
* | | fix disposing builder when not createdLaytan Laats2025-05-071-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #5128 p->builder is created in lb_begin_procedure_body, but that isn't called if there is no body, and we were still calling dispose at that point. Moved it into lb_end_procedure_body to match.
* | | Merge pull request #5122 from Lperlind/asan-allocatorsgingerBill2025-05-071-11/+13
|\ \ \ | | | | | | | | Add asan support for various allocators and stack unpoisoning
| * | | Add asan support for various allocatorsLucas Perlind2025-05-061-11/+13
| | | |
* | | | Added alternate reduce-add/reduce-mul intrinsics.Barinzaya2025-05-051-0/+66
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | The new reduce_add/reduce_mul procs perform the corresponding arithmetic reduction in different orders than sequential order. These alternative orders can often offer better SIMD hardware utilization. Two different orders are added: pair-wise (operating on pairs of adjacent elements) or bisection-wise (operating element-wise on the first and last N/2 elements of the vector).
* | / Add `intrinsics.simd_indices`gingerBill2025-05-051-0/+17
| |/ |/|
* | Merge pull request #5098 from laytan/fix-nan-comparisonsgingerBill2025-05-021-1/+1
|\ \ | | | | | | fix variable NaN comparisons
| * | fix variable NaN comparisonsLaytan Laats2025-04-301-1/+1
| |/
* / Add attribute @(no_sanitize_address)Lucas Perlind2025-05-011-1/+1
|/ | | | | | | | | | | The purposes of this attribute is to let procedures opt-out of being instrumented with asan. Typically an allocator that includes 'in-band' meta-data will be accessing poisoned values (such as tlsf). Making asan work with these allocators becomes very challenging so just being to ignore asan within specific allocator procedures makes it easier to reason and removes the need to temporarily poison and unpoison allocator data.
* Fix `syscall_bsd` on NetBSD ARM64Feoramund2025-04-061-8/+31
|
* Merge pull request #4974 from harold-b/hb.fix-syscall-memory-depgingerBill2025-03-271-0/+10
|\ | | | | Add `~{memory}` clobber to syscall intrinsics for platforms where it was missing
| * Add `~{memory}` clobber to syscall intrinsics for platforms where it was not ↵Harold Brenes2025-03-261-0/+10
| | | | | | | | | | | | | | | | yet added. This fixes #4972 and #4588. As laytan asserts, there is no guarantee that a syscall will not modify memory that it just obtained from the user, or held onto via a previous syscall. Therefore this constraint should be required for all syscalls.
* | Fix #4866gingerBill2025-03-071-0/+1
|/
* Improve global array index to be on a per module basisgingerBill2025-02-251-1/+2
|