aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into lto-supportJesse Meyer11 days1-4/+14
|\
| * Add `intrinsics.count_trailing_ones` and `intrinsics.count_leading_ones`gingerBill13 days1-0/+6
| |
| * Merge pull request #6215 from odin-lang/bill/fix-data-races-2026-02gingerBill13 days1-3/+5
| |\ | | | | | | Fix numerous data races
| | * Make `Entity.parent_proc_decl` atomicgingerBill13 days1-2/+4
| | |
| | * Make `defer_use_checked` and `where_clauses_evaluated` atomicgingerBill13 days1-1/+1
| | |
| * | Merge pull request #6216 from odin-lang/bill/debug-info-fixesgingerBill13 days1-1/+1
| |\ \ | | | | | | | | Debug Info Fixes
| | * | Fix positions for debug locations in `defer`, loops, and `switch` clausesgingerBill13 days1-1/+1
| | |/
| * / Fix #6202gingerBill13 days1-0/+2
| |/
* / Fix Windows LTO: preserve required procedures with llvm.usedJesse Meyer11 days1-0/+13
|/ | | | | | | | | | | | | | | On Windows with LTO, required procedures with external linkage need to be added to @llvm.used to survive linker-level dead code elimination. LLVM may generate implicit calls to runtime builtins (e.g., __extendhfsf2 for f16 conversions) during instruction lowering, after the IR is finalized. Without @llvm.used, the linker discards these procedures before the implicit calls are generated. This adds required procedures to @llvm.used at creation time. The fix is Windows-specific; other platforms handle this correctly. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Unify "mem*.inline" logic to only inline for <=8 bytes on all platformsgingerBill2026-01-221-4/+4
|
* `-disable-unwind`gingerBill2026-01-151-0/+4
|
* Add `@(no_sanitize_thread)`gingerBill2026-01-151-1/+1
|
* Add `#must_tail` and `"preserve/none"` calling conventiongingerBill2026-01-151-6/+0
|
* Add `#must_tail` (similar syntax to `#force_inline`gingerBill2026-01-151-6/+42
|
* Remove temporary tuple fix alloca instructions if they are never usedgingerBill2025-12-271-9/+0
|
* Fix `-integer-division-by-zero` modes and document `all-bits`gingerBill2025-12-011-1/+1
|
* fix matrix transpose with different result typelaytan2025-11-291-1/+1
| | | | Fixes #5623
* 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