Commit graph

314 commits

Author SHA1 Message Date
Brendan Hansknecht
6da6faa35f Rename Register to GPReg and add return regs to backend 2020-11-20 17:17:04 -08:00
Brendan Hansknecht
65e14f2941 Add Reuse and Reset to last seen map 2020-11-19 12:12:42 -08:00
Brendan Hansknecht
a4b823a269 Add basic elf relocation handling 2020-11-18 23:50:42 -08:00
Brendan Hansknecht
2b6039d683 Fix error propagation 2020-11-18 23:10:55 -08:00
Brendan Hansknecht
4e973b9236 Mixed refactoring
Add error return value as opposed to using panic! and unimplemented!
Reorder some functions
Return relocations
Scan ast for variable lifetimes
Probably put too much into this cl, but it would be annoying to change
at this piont.
2020-11-18 23:07:41 -08:00
Brendan Hansknecht
44d6c3bc02 Add extra comment on performance 2020-11-17 20:39:59 -08:00
Brendan Hansknecht
06ceace7a1 Use ImSet for register types 2020-11-17 20:35:42 -08:00
Brendan Hansknecht
35fd54b8fd Define basics of x86_64 calling conventions 2020-11-16 23:37:02 -08:00
Brendan Hansknecht
44ef41f9bb Add some register use information 2020-11-16 23:10:58 -08:00
Brendan Hansknecht
9644b65ca5 Add unit tests to assembly generation 2020-11-15 22:27:10 -08:00
Brendan Hansknecht
ec4e19d01f Extract remain assembly to asm.rs 2020-11-15 21:05:53 -08:00
Brendan Hansknecht
0fcb1df344 Refactor x86_64 backend and add first assembly methods 2020-11-15 20:43:14 -08:00
Brendan Hansknecht
a8986087f9 Add ability to return int literals 2020-11-15 14:06:20 -08:00
Brendan Hansknecht
86c3c0a409 Add base structure for dev compiler backend
Currently we only generate a single static function, but it is probably
loaded and run with jit. This is the base to start generating proper
code.
2020-11-14 18:43:02 -08:00