Commit Graph
788 Commits
Author SHA1 Message Date
gingerBill 18aead3ba1 Merge pull request #7729 from odin-lang/bill/llvm-backend-improvements
LLVM Backend Performance Improvements to Reduce Compile Times Part 2
2026-10-04 19:01:11 +01:00
Jeroen van Rijn be590a7c35 Make radlink default linker on Windows 2026-10-04 13:00:24 +02:00
gingerBill 3bd53e2a80 Improve the parsing for tokenizing + parsing speeds under -show-more-timings -show-debug-messages 2026-10-03 16:26:58 +01:00
gingerBill 32f30c3eb3 Tokenize whilst parsing rather than storing every token of a file first 2026-10-03 16:03:59 +01:00
gingerBill a7ded94e52 Begin the costliest modules first in each backend stage; run function passes in parallel with -debug; spread the instances of oversized modules over further modules; trim comments 2026-10-02 23:15:43 +01:00
gingerBill d958fd7abb Allow -build-mode with odin test; Copy a "just loaded" aggregate as integers in the startup procedure and with -o:none as LLVM's fast instruction selector cannot select an aggregate load or store 2026-10-02 16:40:54 +01:00
gingerBill 63bd49c88b Add -internal-check-global-edges; Check global entities in dependency-ordered groups of a syntactic graph 2026-10-01 17:28:38 +01:00
gingerBill 2b90b616e1 Add -vet-when-shadowing; Resolve global whens and foreign blocks on demand via name placeholders 2026-10-01 16:28:12 +01:00
gingerBill 38fa57e907 Make global checking and codegen order-independent 2026-10-01 15:01:14 +01:00
gingerBill b06c5ffa70 Add -internal-global-entity-graph; Fix union type inference bug 2026-10-01 13:42:32 +01:00
gingerBill 3f518fd130 Merge pull request #7602 from corleypc/lifetime-markers
Adds lifetime markers for named locals
2026-09-29 17:44:06 +01:00
gingerBill 7b19697dcf Integrate ExactValue_Rational throughout the codebase 2026-09-29 14:38:08 +01:00
gingerBill e23e01510e Add ExactValue_Rational; Start adding some tests for big rat 2026-09-29 14:17:21 +01:00
gingerBill db10c6ba3f Implement the basics for a big rational library in the compiler 2026-09-29 14:01:08 +01:00
corley bac6130710 lifetime markers for named locals 2026-09-20 15:55:26 +03:00
Jeroen van Rijn 44ac0eead7 Add ctrl-c handler to run_subprocess
Catch ctrl-c in `odin run` to shutdown child process without taking down the compiler also.

Fixes #7499
2026-09-02 23:44:26 +02:00
Yawning Angel 9aa84b5e3a src: Use posix_spawnp instead of system() when invoking the linker
Thanks to Matteo on discord for pointing this out.
2026-08-31 04:40:04 +09:00
gingerBill 938257d425 Add -strict-style-packages 2026-08-27 15:20:02 +01:00
kalsprite c3bc5b69ac Merge branch 'master' into asm_doc_category 2026-08-25 23:08:48 -07:00
kalsprite 7bf266ef93 string_split_iterator fix 2026-08-24 17:32:30 -07:00
kalsprite b875baea08 asm template doc category 2026-08-24 00:55:16 -07:00
gingerBill 84f9bc76f9 Mockout inline asm for riscv 2026-08-20 14:42:42 +01:00
gingerBill 1f2234a4b2 Merge branch 'master' into bill/inline-asm 2026-08-17 11:44:14 +01:00
Jeroen van Rijn 0b7b8ba4a2 Set console codepage to utf-8 (on Windows), and restore old one on exit
Avoid mojibake.
2026-08-16 16:16:35 +02:00
gingerBill ef21ffa285 Templatize the check_asm.cpp code ready for other architectures 2026-08-11 14:00:41 +01:00
gingerBill 400203c344 Verify the asm instruction operands against the Encoding.ops 2026-08-11 11:47:48 +01:00
gingerBill 70ca5c0936 Validate the names of mnemonics, prefixes, and registers for amd64 2026-08-11 10:44:34 +01:00
gingerBill d827be77cd Begin work on generating the AMD64 asm tables for C++ 2026-08-11 10:15:41 +01:00
jerksto ff949ac6fd Don't assert on -define: values with an exponent 2026-07-30 10:59:10 -04:00
David Bader edc522a05c add assert to make sure old and new double_dash_pos are the same 2026-07-30 13:38:52 +02:00
David Bader 7130f042dc define out unused run_args on Windows 2026-07-30 13:38:51 +02:00
David Bader 16ee03828b handle spaces in args for 'odin run . -- <args>' on Windows 2026-07-30 13:38:51 +02:00
David Bader 894d44346e run_args_start_idx is identical to double_dash_pos, no need to check again 2026-07-30 13:38:50 +02:00
callframe cb7d7a5b7d Allow using absolute path's in foreign import's (#6999)
Document that `-collection` can be used for foreign imports.
Fix absolute path detection on Windows.
2026-07-10 20:45:59 +02:00
A1029384756 39464455bc [cli] remove default help option for stack protector 2026-07-09 00:45:35 -04:00
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
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
Jeroen van Rijn 2d2979a5f2 Remove old pass manager 2026-06-30 22:44:28 +02:00
Jeroen van Rijn 40b28a2ded LLVM 14 removal cleanup 2026-06-30 21:12:42 +02:00
gingerBill 5c48d91f8e And missing command line flag information 2026-06-24 13:44:49 +01:00
gingerBill 40e54a97ed Merge branch 'master' into bill/bedrock 2026-06-24 11:07:02 +01:00
gingerBill 07fee34419 Allow for both odin command path -flags and odin command -flags path
To do this, if the first argument after the command and last argument is NOT a flag, then put that last parameter first.
2026-06-23 17:27:17 +01:00
Jeroen van Rijn 6bae6eb3f1 Clarify "it" 2026-06-22 15:46:02 +02:00
Jeroen van Rijn 8148b04a6c Add missing word. 2026-06-22 15:44:11 +02:00
Jeroen van Rijn 778d3b97b6 Add comment to odin root about why there's no newline
Add comment to `odin root` about why there's no newline, and why we closed #6834 and #6871.

Future such pull requests will be closed without comment.
2026-06-22 15:40:21 +02:00
Franz 5dd0041eb2 Raise child process error signal if odin run child gets terminated.
Previously one would get a nice `$ pid segmentation fault (core dumped) odin run .` message,
but this behaviour was (probably unintentionally) removed in #6848.
2026-06-22 12:32:39 +02:00
gingerBill 1c5c490bdd Merge pull request #6848 from A1029384756/subprocess
[subprocess] move away from `system` for `odin run`
2026-06-21 10:09:37 +01:00
gingerBill 85db8c68a9 Remove -stack-protector:default as none is now the default 2026-06-19 09:14:11 +01:00
gingerBill 69daa4d184 Merge pull request #6830 from A1029384756/stack-canaries
Stack canaries
2026-06-19 09:11:40 +01:00
A1029384756 32db7d8d56 [subprocess] remove p as PATH is not needed to find executable 2026-06-17 00:12:36 -04:00