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

@@ -1109,6 +1109,7 @@ impl MachInst for Inst {
// half-caller-save, half-callee-save SysV ABI for some vector
// registers.
match self {
&Inst::Args { .. } => false,
&Inst::Call { ref info, .. } => info.caller_callconv != info.callee_callconv,
&Inst::CallInd { ref info, .. } => info.caller_callconv != info.callee_callconv,
_ => true,