CakeML / CakeML/cakeml

Better handling of non-flat register spaces

Open
#759 0 comments 0 reactions 0 assignees View on GitHub
code size enhancement low reward medium effort uncertain scope
Dominant language
Standard ML
Stars
1.2k
Forks
104
Avg merge
2d 21h
Merged PRs (30d)
16

Description

x64, riscv, and arm7 have a set of 8 registers which can be used by shorter forms of instructions, and should be preferred for variables that are frequently accessed. To some extent the existing register renaming support can handle this, but it has undesirable assumptions (the link register is always used first, but the ISA link register is not a preferred GPR on either riscv or arm7) and the static partitioning of temporaries between phases that need them also makes this difficult. I don't have a good idea what would be changed to make this happen.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.