Znarf
e0d84ce73a
Merge branch 'odin-lang:master' into master
2026-03-19 00:34:44 +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
fa6109ca1e
Properly dispose of LLVMTargetDataRef
2026-03-15 21:35:26 +00:00
gingerBill
c6772dfd06
Merge branch 'master' into bill/fixed-capacity-dynamic-array
2026-03-15 11:41:01 +00:00
Laytan
af8853473a
query host features instead of only host cpu for more accurate -microarch:native
2026-03-13 20:15:33 +01:00
Franz
ee3d0ea0b5
Fix #6407
2026-03-13 14:21:42 +01:00
gingerBill
bc636e4b36
raddbg debug view for fixed capacity dynamic arrays
2026-03-12 12:56:00 +00:00
Jesse Meyer
9eba12948a
Skip sanitizer IR passes when LTO is enabled
...
With ThinLTO, the linker runs sanitizer passes at link time via
-fsanitize= flags, where it has whole-program visibility. Running
them at bitcode emission too double-instruments every module,
producing hundreds of "Redundant instrumentation detected" warnings.
Per-function sanitize/no_sanitize attributes are preserved in the
bitcode and respected by the linker's pass.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-03 20:16:20 -05:00
Jesse Meyer
43ad4a1d9f
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-03 20:16:20 -05:00
gingerBill
5072d5c776
Add warning in code generation stage which might cause a possible code gen issue, when non-constant initialization is large
2026-01-22 13:54:53 +00:00
gingerBill
4ace851f9a
Instead of using typeid hash, use the canonical name for internal procedure for debuggability
2026-01-22 13:17:26 +00:00
gingerBill
0366cd3304
Add #must_tail (similar syntax to #force_inline
2026-01-15 16:32:52 +00:00
gingerBill
70affd7e44
Disable global variable initialization into separate functions to circumvent an LLVM bug
2025-12-19 16:23:48 +00:00
gingerBill
e0e38afe60
With -use-single-module make some procedures use internal linkage rather than weak linkage
2025-12-17 10:27:28 +00:00
Tohei Ichikawa
d6b5a3139a
Fix allocation of anonymous globals
2025-11-09 21:07:28 -05:00
Jeroen van Rijn
338733d9ef
Remove duplicate import
2025-10-30 17:54:02 +01:00
gingerBill
816c47058d
For test runner, try to look for os.exit or os2.exit
2025-10-30 16:14:32 +00:00
gingerBill
36d63b14b5
Just retry again with lb_generate_missing_procedures
2025-10-29 17:46:00 +01:00
Jeroen van Rijn
0605c7b0e3
Add target triple and LLVM code mode debug prints ( #5839 )
2025-10-22 10:27:27 +02:00
Laytan
e7ecb16a1e
llvm 21 support
2025-10-14 19:55:00 +02:00
Yhya Ibrahim
a672c68f03
Make -target-features flag support disabling of a feature
2025-10-11 15:26:01 +03:00
gingerBill
bc9e6f852e
Merge pull request #5762 from A1029384756/llvm-14-entry-fix
...
[llvm-14-entry-fix] bitcast context pointer to match types for llvm 14
2025-10-06 13:26:52 +01:00
A1029384756
866486fa1c
[llvm-14-entry-fix] bitcast context pointer to match types for llvm 14
2025-10-06 00:12:31 -04:00
gingerBill
810ca89253
Merge pull request #5727 from harold-b/hb.intrinsics.objc_super
...
Add intrinsics.objc_super and Automatically emit objc_msgSend calls
2025-10-05 20:27:01 +01:00
Harold Brenes
5af13f5d53
Automatically emit objc_msgSend calls when calling imported or implemented 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
2025-09-29 20:37:48 -04:00
gingerBill
9e8be055c1
Rename to -build-diagnostics
2025-09-29 16:16:19 +01:00
gingerBill
11712627cb
Add module stuff to -para-poly-diagnostics
2025-09-29 16:14:55 +01:00
gingerBill
53f4fc1cbb
Add -para-poly-diagnostics
2025-09-29 14:03:32 +01:00
gingerBill
4f442c6045
Rearrange const union initialization so that it is priority
2025-09-29 09:51:23 +01:00
gingerBill
4877214f34
Add more check_is_operand_compound_lit_constant uses
2025-09-28 23:53:07 +01:00
gingerBill
17c9e1d76b
Fix global initialization when non was set
2025-09-28 22:11:46 +01:00
gingerBill
17204bd1c2
Global const unions with @(rodata)
2025-09-28 20:40:26 +01:00
gingerBill
31f0aaa62f
Try to improve const union LLVM construction
2025-09-24 09:55:22 +01:00
gingerBill
90d1229ead
Make LLVM_WEAK_MONOMORPHIZATION opt-in again
2025-09-24 09:13:48 +01:00
gingerBill
c9eef7c835
Single thread lb_create_startup_runtime_generate_body
2025-09-22 21:10:01 +01:00
gingerBill
9b8771b475
Handle missing procedures better
2025-09-19 16:15:04 +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
ee3b10335b
Split further
2025-09-19 13:59:58 +01:00
gingerBill
f1e3977cf9
Split up startup call into separate calls
2025-09-19 13:57:52 +01:00
gingerBill
ec91e2c15b
Separate ini global var stuff
2025-09-19 13:52:25 +01:00
gingerBill
4d2854f561
Merge pull request #5632 from kalsprite/x386
...
windows i386 support
2025-09-18 22:01:14 +01:00
gingerBill
9cf69576ab
More improvements to minimize code gen size
2025-09-18 20:58:24 +01:00
gingerBill
4b0a07ba27
Minor rearrangement
2025-09-18 17:06:09 +01:00
gingerBill
37e1e00623
Revert global procedure threading
2025-09-18 16:57:21 +01:00
gingerBill
111e2f0c1b
After global procedures and types are generated, then queue the generation of the procedures for each module
2025-09-18 16:53:00 +01:00
gingerBill
5559916d5c
Mulithread startup procedure body generation
2025-09-18 16:35:04 +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