-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
craneliftIssues related to the Cranelift code generatorIssues related to the Cranelift code generator
Description
This issue will track progress on our new instruction selector / machine-code emission work, which has been ongoing (in design and initial implementation).
The scope of the work is:
- Build a new instruction selector, to replace the recipes and meta-DSL system that adds encodings to existing Cranelift IR instructions.
- Develop a low-level encoding of machine instructions, with virtual registers prior to register allocation (an "IR" of sorts)
- Interface the above to a new register allocator infrastructure,
minira - Develop the binary-encoding pass that emits into a
CodeSinkfrom the above representation
As discussed among @sunfishcode, @julian-seward1, @bnjbvr, and others, we want to do this work in order to clean up the story for a new machine backend, as recipes had become difficult to write and maintain.
The system will be co-developed with an initial backend for ARM64 using the new interfaces.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
craneliftIssues related to the Cranelift code generatorIssues related to the Cranelift code generator