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
Nathan Chere
c2e42fe455
Remove deprecated LLVMGetGlobalContext calls
2026-03-18 21:11:12 +01: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
fc41e44140
Improve bounds checking to minimize its need
2026-03-16 14:29:44 +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
38d7f45e64
Fix race condition with code_gen_module
2026-03-15 21:35:02 +00:00
gingerBill
c51391f8cb
Fix #5129
2026-03-15 17:15:16 +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
Jesse Meyer
1a7f78b665
Add ThinLTO support via -lto:thin and -lto:thin-files flags
...
- Add -lto:thin and -lto:thin-files CLI flags with validation
- Emit LLVM bitcode (.bc) instead of object files when LTO is enabled
- Pass -flto=thin and -flto-jobs to clang/lld linkers
- Guard linkage corrections to skip declarations without definitions
(required for LTO where declarations appear across modules)
- Allow module-per-file with LTO even at higher optimization levels
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-01 09:04:53 -05:00
gingerBill
93d7e2a452
Add globaldynamic thread_local model (same as the current default)
2025-12-30 13:08:30 +00:00
Jeroen van Rijn
faa9222fef
Set minimum #load(file, type) alignment to 16 bytes
2025-10-15 18:04:24 +02:00
Username-Leon
4dd6bb2e87
Merge branch 'master' of https://github.com/LeonardoTemperanza/Odin
2025-10-15 15:30:32 +02:00
Username-Leon
e10093bd99
Fix wrong alignment for typed load directive.
2025-10-15 15:30:06 +02:00
Laytan
e7ecb16a1e
llvm 21 support
2025-10-14 19:55:00 +02:00
A1029384756
be9384fc8d
[llvm-14-fixes] use specific LLVMConst* codepaths for LLVM 14
2025-10-09 12:03:25 -04:00
A1029384756
b55cf5f8f4
llvm 14 fixed
2025-10-07 22:58:50 -04:00
gingerBill
34d040cef1
Correct format strings
2025-09-29 16:51:38 +01:00
gingerBill
cbab97fbd7
Use memcpy for local constant slice arrays from a global constant
2025-09-28 22:50:36 +01:00
gingerBill
f743110f63
Correct union type checking for constants
2025-09-28 21:00:36 +01:00
gingerBill
ffdfbfe2c2
Begin to support constant array of unions
2025-09-28 20:20:26 +01:00
gingerBill
ad85ec765b
More const union improvements
2025-09-24 10:29:32 +01:00
gingerBill
bad495519b
Improve const union attemps
2025-09-24 10:08:25 +01:00
gingerBill
31f0aaa62f
Try to improve const union LLVM construction
2025-09-24 09:55:22 +01:00
gingerBill
2f132b51ce
Add missing gen
2025-09-23 01:23:01 +01:00
gingerBill
f36ade8c64
Remove extra checks
2025-09-19 16:44:57 +01:00
gingerBill
9b8771b475
Handle missing procedures better
2025-09-19 16:15:04 +01:00
gingerBill
655176e5e7
Remove comments of dead code
2025-09-19 15:17:38 +01:00
gingerBill
76705c6800
Convert missing_procedures_to_check to a queue
2025-09-19 14:18:09 +01:00
gingerBill
6bca1475ed
Convert procedures_to_generate to a queue
2025-09-19 14:15:25 +01:00
gingerBill
a8b2b1a23b
Temporarily revert anonymous procedure load balancing
2025-09-19 13:49:09 +01:00
gingerBill
6338e0a8a3
Allow unions with one variant to be constant
2025-09-19 11:56:44 +01:00
gingerBill
1a4da5cb0f
Distribute anonymous procedure literals correctly across LLVM modules
2025-09-19 11:13:18 +01:00
gingerBill
6ce889f4eb
Entity * to std::atomic<Entity *> to remove the need for a PtrMap+Mutex
2025-09-19 11:01:41 +01:00
gingerBill
5d14df4112
Multithread lb_module_init
2025-09-18 23:26:11 +01:00
gingerBill
9cf69576ab
More improvements to minimize code gen size
2025-09-18 20:58:24 +01:00
gingerBill
5bc9d79f77
Change mutex usage for missing procedures
2025-09-18 16:56:19 +01:00
gingerBill
0f307fbc5d
Use multiple modules per file in package runtime
2025-09-18 15:34:19 +01:00
gingerBill
738a72943b
Try moving parapoly procs into a separate module when doing weak monomorphization
2025-09-18 15:04:16 +01:00
Jeroen van Rijn
d612f6ec07
Merge pull request #5553 from flysand7/ice-fix
...
Fix ICE on missing procedure in base:runtime
2025-08-07 18:44:09 +02:00
Sunagatov Denis
46b7abee9f
Fix ICE on missing procedure in base:runtime
...
When a required built-in procedure is missing from the base:runtime
package, an assert should be triggered. However this does not happen
and instead the compiler crashes silently. The cause is the
null-dereference after scope_lookup_current returns nullptr.
This adds an assertion that the runtime procedure is found, before
proceeding to check it's type and performing further lookups.
2025-08-08 03:30:15 +11:00
gingerBill
dca9bf0b0c
Fix string16 literal length set in LLVM
2025-08-02 13:11:34 +01:00
gingerBill
620bf162a0
Cache const string16 in LLVM
2025-08-02 12:32:18 +01:00
gingerBill
ae02d3d02d
Begin supporting string16 across the core library
2025-08-02 11:55:16 +01:00
gingerBill
2561427dd3
Add string16 and cstring16 (UTF-16 based strings)
2025-08-02 11:00:15 +01:00
Laytan
20318e7a3b
concrete types to make llvm 14 happy
...
Fixes #5463
Fixes #5244
Fixes #5435
2025-08-01 19:27:28 +02:00
Harold Brenes
9a87611609
Fix leftover poor indentation for objc_ivars MPSCQueue
2025-07-13 15:39:41 -04:00
Hayden Gray
f72b2b1530
[source-code-locations] - added options to show, obfuscate, and hide source code locations ( #5412 )
2025-06-26 22:43:44 +02:00
Laytan Laats
3a86bc9c6d
Fix WASM C ABI for raw unions
2025-06-20 22:04:53 +02:00
Laytan Laats
f94fc992d7
fix swizzle in for in statement
...
Fixes #1730
2025-06-02 20:30:48 +02:00