basil icon indicating copy to clipboard operation
basil copied to clipboard

Rework compiler backend with register allocation and SSA-based mid-level IR.

Open elucent opened this issue 5 years ago • 2 comments

The current compiler backend goes directly from an abstract syntax tree to a list of instructions. It'd be easier to perform analyses and implement new compiler optimizations on an SSA form, that gets lowered to the instruction list we currently have. In particular, this addition should help us implement register allocation, which should significantly improve language performance.

elucent avatar Oct 16 '20 22:10 elucent

AsmJit might be of help here.

dumblob avatar Nov 15 '20 00:11 dumblob

Added to 1.0 release in the new "releases" project. Work is progressing on this in compiler/ssa.cpp! Register allocation has largely been moved to the new Jasmine bytecode instruction set.

elucent avatar Oct 04 '21 06:10 elucent