Baldrdash's API requires that there is at most one result in a register, across all the possible register classes: in particular, it's not possible to return an i64 value in a register while returning an v128 value in another register. This patch adds a notion of "remaining register values", so this is properly taking into account when choosing whether a return value may be put into a register or not.
This crate contains the core Cranelift code generator. It translates code from an intermediate representation into executable machine code.