As loading constants on aarch64 can take up to 4 instructions, we need to plumb through some additional registers. Rather than pass a fixed list of registers in, pass an allocation function.
This crate contains the core Cranelift code generator. It translates code from an intermediate representation into executable machine code.