Commit Graph

31 Commits

Author SHA1 Message Date
Jesse Brault
12174c9cf6 Add stack offset propagation, clean up some deprecated things. 2026-03-08 13:14:38 -05:00
Jesse Brault
12c4d0eb83 End-to-end with register allocation. 2026-03-08 01:27:09 -06:00
Jesse Brault
1171ce75f9 Propagate register assignments. 2026-03-07 18:25:16 -06:00
Jesse Brault
d8bd826cb0 Fix parse mistake. 2026-03-07 17:54:18 -06:00
Jesse Brault
4479fcb1ba Refactor register allocation code to separate module. 2026-03-07 17:53:34 -06:00
Jesse Brault
5d565ccf91 Fix register allocation algorithm. 2026-03-06 20:16:00 -06:00
Jesse Brault
8e9ae9ed98 Implement register allocation algorithm, with a few bugs. 2026-03-05 23:19:00 -06:00
Jesse Brault
272d288213 Implement block/statement interference graph algorithm. 2026-03-05 20:41:25 -06:00
Jesse Brault
c91bb35d8d Giving more info to ir. 2026-03-05 16:30:39 -06:00
Jesse Brault
15089a15d2 Re-introduce ir with goal of doing register allocation. 2026-03-05 12:41:05 -06:00
Jesse Brault
7d8df883e6 Fix identifier type info being called too early bug. 2026-03-04 22:05:53 -06:00
Jesse Brault
d39e9afee2 More work on calling and returning. 2026-03-04 15:09:05 -06:00
Jesse Brault
3cacde6a4c Work on calling conventions and instructions. 2026-03-04 12:13:05 -06:00
Jesse Brault
e1afb6b43b Much work on adding and calling. 2026-03-03 21:06:12 -06:00
Jesse Brault
81ceeeadb8 Add parameter-list to regular fns. 2026-03-03 12:31:52 -06:00
Jesse Brault
61d7c66e17 Found some unused imports. 2026-03-02 21:16:41 -06:00
Jesse Brault
8c1d56dc1a Remove ir structs and fix misc. warnings. 2026-03-02 20:15:36 -06:00
Jesse Brault
0a0065a2c1 Add rudimentary type-use parsing and type-checking parameters. 2026-03-02 20:00:16 -06:00
Jesse Brault
2d601d6115 Add Any type. 2026-03-02 19:45:46 -06:00
Jesse Brault
ec18b5d5ba Yay! Hello world via platform function is working. 2026-03-02 18:22:24 -06:00
Jesse Brault
7c041e40ad Add sort-of-working error recovery to parser. 2026-03-02 14:06:14 -06:00
Jesse Brault
506e260c75 Add logic for checking if callee is platform fn. 2026-03-02 12:51:39 -06:00
Jesse Brault
b7b495178b Add extern_function AST node. 2026-03-02 12:41:11 -06:00
Jesse Brault
35a849233c Add extern keyword. 2026-03-02 11:48:41 -06:00
Jesse Brault
f2f4b0537e Fix lexer whitespace bug. 2026-03-02 11:46:40 -06:00
Jesse Brault
0960516c4a Very minimal, but e2e hello world sort of working. 2026-03-01 16:11:57 -06:00
Jesse Brault
6593a1cfd1 Assembling directly from AST. 2026-02-28 08:22:57 -06:00
Jesse Brault
e5e1647b70 Multiple statements test. 2026-02-28 06:57:06 -06:00
Jesse Brault
6b855b8ebb Work on asm. 2026-02-27 21:33:28 -06:00
Jesse Brault
aefac57b9d Starting work on IR. 2026-02-27 16:26:56 -06:00
Jesse Brault
8df46eec8d Moving to dmc-lib, keeping it smaller! 2026-02-27 12:14:42 -06:00