Commit Graph

6985 Commits

Author SHA1 Message Date
gingerBill
7bd6d16d76 Merge pull request #7438 from kalsprite/asm_doc_category
Give asm templates a documentation category instead of a blank header and a null `%s`
2026-08-26 08:41:20 +01:00
gingerBill
dc8b9584ed Merge pull request #7458 from kalsprite/swizzle_multi_assign
Fix a swizzle target in a multi-assignment reading an already-written source
2026-08-26 08:40:42 +01:00
gingerBill
a934751be1 Merge pull request #7435 from kalsprite/asm_group_empty_params
Delete dead code that crashed the checker on an asm template group with no parameters
2026-08-26 08:40:20 +01:00
gingerBill
4c0e5dfdc8 Merge pull request #7460 from kalsprite/const_truncation_sweep
convert constants before narrowing to i64 in the remaining checker sites
2026-08-26 08:39:48 +01:00
kalsprite
7e9ffac5b0 const truncation sweep 2026-08-25 23:27:06 -07:00
kalsprite
c3bc5b69ac Merge branch 'master' into asm_doc_category 2026-08-25 23:08:48 -07:00
kalsprite
3d4fcd3612 merge master 2026-08-25 23:07:38 -07:00
kalsprite
915fc97b5f add missing int 128le 2026-08-25 22:46:30 -07:00
kalsprite
c1aeb47ce5 swizzle target multi-assignment 2026-08-25 22:22:33 -07:00
gingerBill
96b1b45f69 Merge branch 'master' of https://github.com/odin-lang/Odin 2026-08-25 19:30:50 +01:00
gingerBill
f7f3d3f198 asm: reenable riscv64 2026-08-25 19:30:38 +01:00
gingerBill
073c733dbd Merge pull request #7432 from kalsprite/asm_immediate_constant
Reject a non-constant argument to an  template's  immediate
2026-08-25 16:20:38 +01:00
gingerBill
2214d90997 Merge branch 'master' into bool_comparison_normalise 2026-08-25 15:31:19 +01:00
gingerBill
2f8ddd560b Merge branch 'master' into asm_immediate_constant 2026-08-25 15:28:06 +01:00
gingerBill
ee68d39c20 Merge pull request #7444 from odin-lang/bill/asm-cfg
Inline `asm` templates - CFG based analysis
2026-08-25 15:27:34 +01:00
gingerBill
771cbfa31a Merge pull request #7439 from ssenthilnathan3/fix/proc-literal-type-canonicalization
Fix canonical names for types in procedure literals
2026-08-25 15:12:32 +01:00
gingerBill
65c927841a Merge branch 'master' into bill/asm-cfg 2026-08-25 15:04:39 +01:00
gingerBill
337bb43948 asm: minor cleanups 2026-08-25 13:40:16 +01:00
gingerBill
b4cf9b14bd asm: Implement sub-register width analysis 2026-08-25 12:17:06 +01:00
gingerBill
160a5ffe5c Improve error message for which status flags were not set but expected. 2026-08-25 11:21:57 +01:00
gingerBill
173443cdd1 Add read-before-write for flags, and fix bugs caused by typos 2026-08-25 10:26:27 +01:00
Senthilnathan
559ed487e6 fix: canonical names for types in procedure literals 2026-08-25 14:41:48 +05:30
gingerBill
c200bfc189 Check for infinite cycles in the CFG and report if the procedure is not marketed as diverging 2026-08-25 09:55:48 +01:00
gingerBill
6f65d775c2 Re-add check_asm_cfg_liveness 2026-08-25 09:43:31 +01:00
Jeroen van Rijn
5a994d4ea2 Merge pull request #7450 from kalsprite/mod_min_neg_one
Fix: `min(T) % -1` kills the process with SIGFPE, at every hardware width.
2026-08-25 01:32:21 -07:00
kalsprite
5628815bfe mod -1 2026-08-24 19:46:47 -07:00
kalsprite
4ecaa7dfd9 normalize bool cmp 2026-08-24 18:34:59 -07:00
Jeroen van Rijn
66f9dbca8a Merge branch 'master' into bool_be_conversion 2026-08-24 18:31:30 -07:00
kalsprite
c3bfbea235 big endian bool cmp 2026-08-24 18:15:01 -07:00
Jeroen van Rijn
650c558cb9 Merge pull request #7445 from kalsprite/target_feature_empty_element
string_split_iterator fix
2026-08-24 18:03:35 -07:00
kalsprite
7bf266ef93 string_split_iterator fix 2026-08-24 17:32:30 -07:00
gingerBill
b1a81cf6f3 asm: Improve warnings for unreachable blocks 2026-08-24 23:56:19 +01:00
gingerBill
13394e8bcd asm: remove liveness backwards check as it causes way too many false positives 2026-08-24 23:49:23 +01:00
gingerBill
434d1f6cbc asm: implement liveness stale checks 2026-08-24 23:40:51 +01:00
gingerBill
f73a5295d2 Minor cleanup 2026-08-24 23:37:01 +01:00
gingerBill
e093329012 asm: add a backward liveness check for the CFG 2026-08-24 23:35:41 +01:00
gingerBill
a9068261bf Fix view-width testing for unpinned parameters in the lattice 2026-08-24 23:13:12 +01:00
gingerBill
032566714c asm: correctly handle flags in the CFG 2026-08-24 22:56:49 +01:00
gingerBill
477fd7467b Ignore flag-pinned output 2026-08-24 22:32:48 +01:00
gingerBill
a2d9ca8697 Remove unneeded hash maps when you can store the data directly on the nodes 2026-08-24 22:25:53 +01:00
gingerBill
7fcf65d2c2 asm: General clean up of the CFG code and remove redundant calculations 2026-08-24 22:17:31 +01:00
gingerBill
322f59dae0 Implement a CFG for the assembler to improve the soundness of the checks 2026-08-24 21:49:32 +01:00
gingerBill
b69e61983a Mock out the data structures for working on a CFG for asm 2026-08-24 19:52:56 +01:00
gingerBill
3e159a4e10 Add #no_init suffix directive for asm specifications. 2026-08-24 19:10:32 +01:00
gingerBill
dfa473f2c8 Minor grammar fix in error message 2026-08-24 18:20:12 +01:00
gingerBill
9ae9a9bf99 asm: Add support for constraint checks such as division by zero or overshifting 2026-08-24 18:18:28 +01:00
gingerBill
9367fa2ec2 Even more general clean ups 2026-08-24 16:58:37 +01:00
gingerBill
670b996f91 Minor clean ups 2026-08-24 16:43:36 +01:00
gingerBill
13558978be Fix typo 2026-08-24 16:40:02 +01:00
gingerBill
427d300562 asm: minor cleanups 2026-08-24 16:39:23 +01:00