Add regspill and regfill instructions.

These are parallels to the existing regmove instruction, but the divert
the value to and from a stack slot.

Like regmove diversions, this is a temporary diversion that must be
local to the EBB.
This commit is contained in:
Jakob Stoklund Olesen
2017-10-04 12:42:53 -07:00
parent d4aeec6ece
commit dda3efcbdd
9 changed files with 123 additions and 3 deletions

View File

@@ -213,6 +213,18 @@ pub enum InstructionData {
src: RegUnit,
dst: RegUnit,
},
RegSpill {
opcode: Opcode,
arg: Value,
src: RegUnit,
dst: StackSlot,
},
RegFill {
opcode: Opcode,
arg: Value,
src: StackSlot,
dst: RegUnit,
},
Trap { opcode: Opcode, code: ir::TrapCode },
CondTrap {
opcode: Opcode,