cranelift: Fix implicit pointer argument register use (#5301)

* Fix arg handling to write to VRegs instead of physical regs

* Make is_included_in_clobbers required, and handle Args on x64 and riscv64
This commit is contained in:
Trevor Elliott
2022-11-18 16:47:03 -08:00
committed by GitHub
parent 7a31c5b07c
commit 54cfa4df34
10 changed files with 51 additions and 28 deletions

View File

@@ -573,7 +573,7 @@ impl<'func, I: VCodeInst> Lower<'func, I> {
.vcode
.vcode
.abi
.gen_copy_arg_to_regs(&self.vcode.vcode.sigs, i, regs)
.gen_copy_arg_to_regs(&self.vcode.vcode.sigs, i, regs, &mut self.vregs)
.into_iter()
{
self.emit(insn);
@@ -601,7 +601,7 @@ impl<'func, I: VCodeInst> Lower<'func, I> {
.vcode
.vcode
.abi
.gen_retval_area_setup(&self.vcode.vcode.sigs)
.gen_retval_area_setup(&self.vcode.vcode.sigs, &mut self.vregs)
{
self.emit(insn);
}