Commit Graph

17128 Commits

Author SHA1 Message Date
gingerBill
73df99fcb1 Merge branch 'master' of https://github.com/odin-lang/Odin 2026-03-19 20:31:25 +00:00
gingerBill
111bee6ecd Fix scope->elements iteration causing a few bugs in the doc-format 2026-03-19 20:31:01 +00:00
Laytan
a329d0f4f0 Merge pull request #6450 from laytan/stb-vorbis-wasm
vendor/stb/vorbis: support WASM
2026-03-19 20:17:34 +01:00
gingerBill
3fb430ceb7 Merge branch 'master' of https://github.com/odin-lang/Odin 2026-03-19 18:50:17 +00:00
gingerBill
e6521ed269 Inline the generic count stuff 2026-03-19 18:50:01 +00:00
Jeroen van Rijn
ea1d97f703 Merge pull request #6448 from SpaceTravelCompany/master
fixes Android build
2026-03-19 19:45:33 +01:00
Laytan Laats
261881e57c vendor/stb/vorbis: support WASM 2026-03-19 19:44:34 +01:00
Jeroen van Rijn
c29fd7f872 Merge pull request #6436 from nathanchere/patch-1
Update build_odin.sh to support LLVM 22
2026-03-19 19:18:31 +01:00
Jeroen van Rijn
e43ba9851d Merge branch 'pr/6446' 2026-03-19 12:21:17 +01:00
Jeroen van Rijn
5aacced75d Merge pull request #6446 from A1029384756/sdl_mixer
[SDL3/mixer] initial commit
2026-03-19 12:20:28 +01:00
Jeroen van Rijn
274e99015c Add SDL3 Mixer binaries 2026-03-19 12:04:32 +01:00
Jeroen van Rijn
7aa411e892 Merge pull request #6442 from Yawning/feature/disable-target-feature
src: Support clang-style `+`/`-` prefixes in target features
2026-03-19 11:35:08 +01:00
Yawning Angel
a171746a15 core/math/rand: Disable LLVM vectorization of xoshiro on Intel
LLVM tries really hard to vectorize this when it is a terrible idea,
when `-microarch:native` is specified on modern processors.  Not doing
so is a 2.5->3x performance gain.
2026-03-19 19:25:23 +09: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
xfitgd
b965e46d7c fixes Android build 2026-03-19 08:27:09 +09:00
Nathan Chere
d18eff9a93 Fix LLVMStructType calls deprecated as of LLVM 22 2026-03-18 21:21:00 +01:00
Nathan Chere
c2e42fe455 Remove deprecated LLVMGetGlobalContext calls 2026-03-18 21:11:12 +01:00
Nathan Chere
7891744b65 MacOS ARM builds bumped from LLVM 20->22 2026-03-18 20:48:38 +01:00
A1029384756
36e6bd4235 [SDL3/mixer] initial commit 2026-03-18 15:37:49 -04:00
Nathan Chere
82d985b458 add LLVM 22 support to optimisation pass pipelines 2026-03-18 20:31:27 +01:00
Nathan Chere
eddc8084f1 update microarch table for LLVM 22 2026-03-18 18:30:39 +01:00
Jeroen van Rijn
c48624ce01 Merge pull request #6443 from rofrol/patch-1
No need to use f for print here
2026-03-18 14:06:33 +01:00
Roman Frołow
72c1a9420b No need to use f for print here 2026-03-18 12:54:07 +01:00
Jeroen van Rijn
109253bea9 Merge pull request #6441 from ZZZWojta/fix-missing-return-in-pop_fixed_capacity_dynamic_array
fix Error: Missing return statement at the end of the procedure pop_fixed_capacity_dynamic_array
2026-03-17 21:03:56 +01:00
WojtaZam
1f9f2dc0da fix Error: Missing return statement at the end of the procedure pop_fixed_capacity_dynamic_array 2026-03-17 20:19:46 +01:00
gingerBill
fdbbcc509c Merge pull request #6438 from odin-lang/bill/interning-things
Continuous Compiler Improvements
2026-03-17 14:55:50 +00:00
gingerBill
85c05b238e Handle bit fields separately 2026-03-17 13:50:49 +00:00
gingerBill
d28e19c957 Minor improve to check if the entity was already there 2026-03-17 13:47:02 +00:00
Jeroen van Rijn
dcb6553b50 Merge pull request #6437 from pawelt/master
Handle OOM error in path_linux / _get_working_directory()
2026-03-17 14:46:27 +01:00
pawelt
911f00521c Handle OOM error in path_linux / _get_working_directory() 2026-03-17 14:37:22 +01:00
gingerBill
153a522228 Use normal i64 arithmetic instead of big-ints for hot path 2026-03-17 13:34:06 +00:00
Nathan Chere
1f2c968652 Update build_odin.shm to support LLVM 22 2026-03-17 14:05:45 +01:00
gingerBill
46936e0e52 General improvements 2026-03-17 12:55:25 +00:00
gingerBill
e18b15e8f0 Move error-only things to the error scopes 2026-03-17 12:16:44 +00:00
gingerBill
9ad3a23f27 More improvements to performance; AtomicFreelist abstraction 2026-03-17 12:10:49 +00:00
gingerBill
b19e89578f Improve check_struct_fields performance; use CheckerTypePath free list 2026-03-17 11:42:03 +00:00
gingerBill
04cb889aed Begin interning ScopeMap strings 2026-03-17 11:04:32 +00:00
gingerBill
d5a78a9cf1 Remove canonical hash shortcut 2026-03-17 09:43:16 +00:00
gingerBill
239b86c566 Fix typos 2026-03-17 09:20:14 +00:00
gingerBill
a8c6ea7c8a Implement a new StringInterner 2026-03-17 09:18:39 +00:00
gingerBill
8f2fd4f886 Disable warning about padding when using alignas in C++ 2026-03-17 08:21:13 +00:00
gingerBill
784a202ca4 Merge branch 'master' of https://github.com/odin-lang/Odin 2026-03-17 08:10:18 +00:00
gingerBill
f7ede8632f Minor changes 2026-03-17 08:10:13 +00:00
Jeroen van Rijn
efccc9c87f Merge pull request #6434 from Yawning/feature/arm-hw-sha512
core/crypto/sha2: Add Aarch64 SHA512 acceleration
2026-03-16 20:51:52 +01:00
Yawning Angel
36a3f691c1 core/crypto/sha2: Add Aarch64 SHA512 acceleration 2026-03-17 04:39:15 +09:00
gingerBill
cb7a87773b Split keys and slots and allocate them both together 2026-03-16 18:04:25 +00:00
gingerBill
36d5a19115 Replace Scope.elements to use a custom hash map ScopeMap
This hash map is robin hood based with a inline slot amount for small scopes
2026-03-16 17:41:58 +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
3dc68c2e08 In PtrSet permanent_allocator instead of heap_allocator 2026-03-16 15:50:13 +00:00
gingerBill
ef36a18323 Enable some RVO by default 2026-03-16 14:52:07 +00:00