23 Commits

Author SHA1 Message Date
David Gonzalez Martin
883f0b2faa Add C transpiler 2023-11-20 01:09:51 -06:00
David Gonzalez Martin
df53762d92 commit before transpiling 2023-11-19 09:22:39 -06:00
David Gonzalez Martin
4c358c2f89 implement shifts 2023-11-13 20:49:24 -06:00
David Gonzalez Martin
f96cf16a2a implement signed division 2023-11-13 10:26:05 -06:00
David Gonzalez Martin
d390ee08f6 implement signed multiplication 2023-11-12 20:06:12 -06:00
David Gonzalez Martin
eb681dc7a1 implement and, or, xor 2023-11-12 17:21:45 -06:00
David Gonzalez Martin
35657715e9 implement add and sub 2023-11-12 11:11:06 -06:00
David Gonzalez Martin
e75f3f3a68 Fix register allocation for call argument passing 2023-11-11 09:26:09 -06:00
David Gonzalez Martin
31185e6779 hello_world: finish producing a hello world exe
Section manager redesign
Linker relocations
Using global strings
String literal fixup in sema
2023-11-10 17:06:27 -06:00
David Gonzalez Martin
73769beb32 x86_64: some encodings 2023-11-10 12:38:14 -06:00
David Gonzalez Martin
9dc5f795b2 x86_64: implicit definition of RAX after syscall 2023-11-10 11:02:17 -06:00
David Gonzalez Martin
5dceac7720 ir: don't emit constants in function instructions
This aims to improve register allocation
2023-11-10 10:43:23 -06:00
David Gonzalez Martin
da07fd5ca4 implement lea for globals and argument tweaks 2023-11-10 10:42:30 -06:00
David Gonzalez Martin
22243d296c add encoding and elf linking 2023-11-09 23:20:34 -06:00
David Gonzalez Martin
30baa0b53d Fix register allocator for barebones use 2023-11-08 22:26:22 -06:00
David Gonzalez Martin
b24bd8221e Add custom logger 2023-11-08 09:27:45 -06:00
David Gonzalez Martin
aefabd6108 almost working register allocator 2023-11-07 15:00:48 -06:00
David Gonzalez Martin
77e54285f5 instruction selection 2023-11-06 13:30:35 -06:00
David Gonzalez Martin
d391898b95 instruction encoding 2023-10-02 13:23:00 -06:00
David Gonzalez Martin
c7bcfa1de9 instruction selection and register allocation 2023-10-01 15:43:00 -06:00
David Gonzalez Martin
bca2f024cd ir for main function 2023-09-30 12:51:58 -06:00
David Gonzalez Martin
65d248588d exit process 2023-09-24 21:45:52 -06:00
David Gonzalez Martin
48c3b5e224 ir 2023-09-21 12:29:39 -06:00