Commit Graph
284 Commits
Author SHA1 Message Date
gingerBill bb291cfcd0 Use a for loop when doing array casts which are too long. 2026-04-28 13:45:57 +01:00
gingerBill 8ea1cbc230 Mock out vectorization of array binary arithmetic (probably not better in practice some of the time) 2026-04-24 18:19:41 +01:00
gingerBill 5c2efb78ac SIMD-ify [N]float -> [N]complex 2026-04-23 18:35:00 +01:00
gingerBill a44b8b0af0 Support ([N]T)([N]U{...}) 2026-04-23 10:42:53 +01:00
gingerBill ef275c5c0e Support []int{multiple_returns(), 123} 2026-04-21 17:45:36 +01:00
gingerBill b1e8ec5e64 Allow for Some_Struct{multiple_return_value(), 123} 2026-04-21 17:17:59 +01:00
k-nrd 2c6c646342 Merge branch 'master' into fix/field-first-writes-into-dynamic-soa 2026-04-09 15:19:11 -03:00
gingerBill 4697c8837c Merge pull request #6479 from cuiweixie/fix/llvm-cstring16-u16-multi-ptr-transmute
Fix u16 multi-pointer to cstring16 transmute condition in lb_emit_conv
2026-03-26 11:16:49 +00:00
Weixie Cui b16eaea8a8 Fix u16 multi-pointer to cstring16 transmute condition in lb_emit_conv
cstring16 uses UTF-16 code units; accept u16 multi-pointers, not u8.
2026-03-26 17:57:18 +08:00
Weixie Cui a2f1aafed3 Fix GB_PANIC format string in lb_emit_conv invalid subtype cast
The panic string passed two type names but only had one %s placeholder.
2026-03-26 17:54:17 +08:00
gingerBill 04cb889aed Begin interning ScopeMap strings 2026-03-17 11:04:32 +00:00
gingerBill 0bf2d01a04 Work on improving bounds checking with constant known indices and lb_add_local_generated 2026-03-16 14:06:23 +00:00
gingerBill eecb67cb89 Implement fused nested slice chain optimizations src[a:b][c:d][e:f]... 2026-03-15 21:17:05 +00:00
gingerBill 6b2853d9f1 Improve matrix * vector code gen 2026-03-15 21:03:31 +00:00
gingerBill 12b06887a3 Remove dead code 2026-03-15 20:36:02 +00:00
gingerBill f8f96905ae Fix typos 2026-03-15 20:27:14 +00:00
gingerBill a56c3da149 Support select fast path for or_else 2026-03-15 20:02:48 +00:00
gingerBill f70bceec84 Add optimization for improving side-effect-free use of a select for ternary if. 2026-03-15 19:58:57 +00:00
gingerBill bb2e42faa6 More uses of SSA aggregation values 2026-03-15 19:49:26 +00:00
gingerBill 0dbda03890 Simplify slice creation as LLVM values 2026-03-15 19:40:57 +00:00
gingerBill c51391f8cb Fix #5129 2026-03-15 17:15:16 +00:00
gingerBill c6772dfd06 Merge branch 'master' into bill/fixed-capacity-dynamic-array 2026-03-15 11:41:01 +00:00
Jeroen van Rijn 27667ce36b iff -> if and only if (⟺) 2026-03-13 11:54:15 +01:00
gingerBill a6160770ff Support compound literals for fixed capacity dynamic arrays 2026-03-12 10:03:58 +00:00
gingerBill f1dbe9c242 [dynamic; N]T proof of concept: fixed capacity dynamic array (akin to small_array.Small_Array(N, T)) 2026-03-11 16:46:33 +00:00
bymehul c9e55d3add fix: handle full-width bit_field literal masks 2026-03-10 23:21:19 +05:30
Gustavo Konrad f82d41bc9a fix #6344: field-first index writes on #soa[dynamic]T and #soa[]T 2026-02-28 12:33:57 -03:00
gingerBill c0468446f6 Ignore const nil "optimization" and fix c: Maybe(string); c == "" bug. 2026-02-24 18:52:42 +00:00
gingerBill 63c4faca75 Fix positions for debug locations in defer, loops, and switch clauses 2026-02-02 11:19:00 +00:00
gingerBill fde90931de Add case for completeness 2026-02-02 11:16:05 +00:00
gingerBill 3586bda6ae Use context.assertion_failure_proc with type assertions when the context is available, otherwise use a trivial trap. 2026-01-26 18:23:29 +00:00
gingerBill 0774b7465f Allow for shortcut to get feature flags from the expression directly assuming it as a file 2026-01-26 15:51:38 +00:00
gingerBill efdb89afcb Revert dynamic literals feature check 2026-01-26 15:41:15 +00:00
gingerBill afe4369f6e Add #+feature force-type-assert which overrides -no-type-assert on a per-file basis 2026-01-26 15:37:54 +00:00
miere43 29019d7138 Fix duplicate code emission in type assertions. 2025-12-03 21:27:38 +03:00
gingerBill 0f0c40b96d Fix -integer-division-by-zero modes and document all-bits 2025-12-01 13:11:32 +00:00
Laytan Laats 679d306d0f panic on transpose with result type in diff layout
Partially reverts 4db4841, it should behave the same as cast (which does
an implicit transpose).
2025-11-29 20:06:43 +01:00
laytan 4db4841413 fix matrix transpose with different result type
Fixes #5623
2025-11-29 12:14:06 +01:00
gingerBill cbab97fbd7 Use memcpy for local constant slice arrays from a global constant 2025-09-28 22:50:36 +01:00
gingerBill a974c51d57 First step towards constant unions 2025-09-28 19:52:52 +01:00
gingerBill 42b9039a1f Check for nullptr 2025-09-26 09:41:08 +01:00
gingerBill 31f0aaa62f Try to improve const union LLVM construction 2025-09-24 09:55:22 +01:00
gingerBill 549edcc0f9 Use a RwMutex instead of BlockingMutex 2025-09-10 21:00:43 +01:00
gingerBill 8df69c95c3 Add -integer-division-by-zero:all-bits 2025-08-10 18:29:08 +01:00
gingerBill b6e0b48481 Rename block names from div to mod. 2025-08-10 17:58:46 +01:00
gingerBill 4cbcb3ace7 Add shortcut for unsigned_x/power_of_two -> unsigned_x >> log2(power_of_two) 2025-08-10 17:53:07 +01:00
gingerBill da76c743e9 Add shortcut for division by a constant 2025-08-10 17:42:49 +01:00
gingerBill 8c1eda3e3a Handle fixed_point_div and fixed_point_div_sat 2025-08-08 11:10:01 +01:00
gingerBill ee01643229 Add -integer-division-by-zero:self 2025-08-08 10:41:05 +01:00
gingerBill 991883d0e1 Add #+feature integer-division-by-zero:<string> 2025-08-08 10:24:44 +01:00