Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
elucent opened this issue Oct 16, 2020 · 2 comments
Assignees
Labels
planned feature Planned feature for upcoming language revision.

Comments

@elucent
Copy link
Contributor

elucent commented Oct 16, 2020

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 elucent added the planned feature Planned feature for upcoming language revision. label Oct 16, 2020
@elucent elucent added this to the 0.2 milestone Oct 16, 2020
@elucent elucent self-assigned this Oct 16, 2020
@dumblob
Copy link

dumblob commented Nov 15, 2020

AsmJit might be of help here.

@elucent elucent removed this from the 0.2 milestone Oct 4, 2021
@elucent
Copy link
Contributor Author

elucent commented Oct 4, 2021

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
planned feature Planned feature for upcoming language revision.
Projects
None yet
Development

No branches or pull requests

2 participants