Jeroen van Rijn
94be05ead1
Merge pull request #6918 from Kelimion/deprecate-llvm-14
...
Remove LLVM 14 support
2026-07-03 21:35:47 +02:00
gingerBill
d595bf1917
Merge pull request #6924 from tf2spi/6815-patch-simd-min-max
...
Fix misuse of lb_emit_(min|max) in simd_(min|max)
2026-07-03 16:34:08 +01:00
gingerBill
328f511576
Merge pull request #6939 from tf2spi/6832-no-code-regen
...
Avoid code regeneration for fns in unroll
2026-07-03 13:06:56 +01:00
misomosi
ee1cad0fcc
Avoid code regeneration for fns in unroll
2026-07-03 00:46:17 -04:00
misomosi
b5e3b08a8c
Remove use of llvm.(max|min)num in SIMD builtins
2026-07-02 09:56:38 -04:00
MauriceElliott
56cee0c2cf
fix: made suggested changes to add a playdate subtarget, updated help text and reduce required build flags for playdate to just the subtarget, no-movt and cortex-m7 added to default on playdate subtarget flag.
2026-07-01 21:18:28 +01:00
misomosi
f276d77c0c
Fix misuse of lb_emit_(min|max) in simd_(min|max)
2026-07-01 10:59:03 -04:00
Jeroen van Rijn
2d2979a5f2
Remove old pass manager
2026-06-30 22:44:28 +02:00
MauriceElliott
a3fa3476c6
feat(arm32 cdecl): Added thumb as the triple for cortex-m7. Updated the calling convention for cortex-m7 arm32 micro processors as the soft float register was being used when calling across the C ABI boundary causing guff data to be passed.
2026-06-30 20:07:36 +01:00
misomosi
12e8ba8d66
Use lb_add_values_to_array for cvarargs
2026-06-29 10:01:50 -04:00
A1029384756
8ccee66157
[stack-canaries] fixed platform behavior
2026-06-12 23:27:32 -04:00
A1029384756
2373fabe47
[stack-canaries] added protection modes
2026-06-12 22:57:39 -04:00
A1029384756
da742fc526
[no-plt] enable no-plt behavior on linux arm64 and amd64 targets
2026-06-08 10:58:05 -04:00
gingerBill
1c9fa5d0b7
Merge pull request #6731 from odin-lang/bill/expand-values-operator
...
Support `**` as `expand_values` operator: `**x` == `expand_values(x)`
2026-06-05 11:42:08 +01:00
gingerBill
a479eb7775
Support @(link_section=<string>) for procedures
2026-06-02 13:09:40 +01:00
gingerBill
fb8a9d0839
Support ** as expand_values operator: **x == expand_values(x)
2026-05-25 10:28:15 +01:00
kalsprite
98d6e0c26a
ARM chunking logic, improved docs
2026-05-20 17:55:29 -07:00
kalsprite
ae4b94fbd0
fix overloaded call
2026-05-20 16:57:05 -07:00
gingerBill
a91725f305
Add simd.interleave + simd.deinterleave
2026-05-19 21:32:09 +01:00
gingerBill
a3240373ac
Allow simd.(reduce_any|reduce_all) to work with #simd integers
2026-05-19 15:33:45 +01:00
gingerBill
7b97530443
Add intrinsics.c_var_*
2026-04-28 15:00:53 +01:00
gingerBill
68942ce53d
Genericize simd_approx_recip_(sqrt) to allow for AVX and AVX512 intrinsics if enabled
2026-04-08 10:56:52 +01:00
gingerBill
6f7226e692
Add intrinsics.simd_pairwise_(add|sub)
2026-04-07 15:45:50 +01:00
gingerBill
6e09ce9a04
intrinsics.to_bits_signed; simd.signbit
2026-04-07 15:25:41 +01:00
gingerBill
5de18d30f3
Add intrinsics.simd_approx_recip and intrinsics.simd_approx_recip_sqrt
2026-04-07 14:35:04 +01:00
gingerBill
885db93e20
Add intrinsics.simd_sums_of_n
2026-04-07 13:18:03 +01:00
gingerBill
30b6fab120
Fix simd.scatter/simd.gather for LLVM 22
2026-04-07 11:46:57 +01:00
gingerBill
ac1b5aea0f
Add intrinsics.simd_odd_even; More core:simd operations
2026-04-07 11:35:20 +01:00
Yawning Angel
62d78d61fa
src: Allow clang-style +/- for target features
...
This largely works as expected, except that as far as I can tell,
without explicit annotations added to the caller, (or a
`#force_inline`), the LLVM `target-features` function attribute
gets ignored by the inliner under the rationale of `-sse,-avx,-avx2`
is a subset of `+sse,+avx,+avx2`.
With `#force_no_inline` the correct code does get generated, but in
the regression I am trying to fix, the caller gratuitously also uses
SIMD, leading to horrific performance.
2026-03-19 19:25:23 +09:00
gingerBill
04cb889aed
Begin interning ScopeMap strings
2026-03-17 11:04:32 +00:00
gingerBill
1744f57d01
Use permanent_alloc_item directly rather than through the gb_alloc_item generic interface
2026-03-16 16:03:27 +00:00
gingerBill
5d165f70e1
Add loads of RVO optimizations for basic 1-value return cases
2026-03-15 21:53:38 +00:00
gingerBill
bb2e42faa6
More uses of SSA aggregation values
2026-03-15 19:49:26 +00:00
gingerBill
a0685f0511
Add intrinsics.likely and intrinsics.unlikely
2026-03-15 15:39:52 +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
Jeroen van Rijn
5d94c01e47
Disable LLVMTailCallKindMustTail under LLVM 18
2026-02-21 23:29:32 +01:00
gingerBill
6f7a64a47d
Change LTO rules for all platforms
2026-02-04 17:15:48 +00:00
Jesse Meyer
b8276065f9
Merge branch 'master' into lto-support
2026-02-03 20:52:52 -05:00
Jesse Meyer
bd6148dd6b
Fix Windows LTO: preserve required procedures with llvm.used
...
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 >
2026-02-03 20:16:44 -05:00
gingerBill
bb7496a2fc
Add intrinsics.count_trailing_ones and intrinsics.count_leading_ones
2026-02-02 14:28:16 +00:00
gingerBill
adf56ced22
Merge pull request #6215 from odin-lang/bill/fix-data-races-2026-02
...
Fix numerous data races
2026-02-02 11:37:19 +00:00
gingerBill
b9e4007cb1
Merge pull request #6216 from odin-lang/bill/debug-info-fixes
...
Debug Info Fixes
2026-02-02 11:33:21 +00:00
gingerBill
c85af4a454
Fix #6202
2026-02-02 11:27:41 +00:00
gingerBill
63c4faca75
Fix positions for debug locations in defer, loops, and switch clauses
2026-02-02 11:19:00 +00:00
gingerBill
acabae8644
Make Entity.parent_proc_decl atomic
2026-02-02 10:58:25 +00:00
gingerBill
8a92ba74fc
Make defer_use_checked and where_clauses_evaluated atomic
2026-02-02 10:56:30 +00:00
gingerBill
dc6067a8a9
Unify "mem*.inline" logic to only inline for <=8 bytes on all platforms
2026-01-22 13:18:22 +00:00
gingerBill
557e854864
-disable-unwind
2026-01-15 18:12:39 +00:00
gingerBill
f4a7e0b279
Add @(no_sanitize_thread)
2026-01-15 18:06:25 +00:00
gingerBill
5f07055ac1
Add #must_tail and "preserve/none" calling convention
2026-01-15 17:28:28 +00:00