Package jminusminus
Class NLIRMove
java.lang.Object
jminusminus.NLIRInstruction
jminusminus.NLIRMove
LIR move instruction.
-
Field Summary
Fields inherited from class jminusminus.NLIRInstruction
block, id, lirMnemonic, reads, write
-
Constructor Summary
ConstructorDescriptionNLIRMove
(NBasicBlock block, int id, NLIRInstruction from, NLIRInstruction to) Constructs an NLIRMove object.NLIRMove
(NBasicBlock block, int id, NRegister from, NRegister to) Constructs an NLIRMove object. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Replace references to virtual registers in this LIR instruction with references to physical registers.void
toSpim
(PrintWriter out) Translates this LIR instruction into SPIM and writes it out to the specified output stream.toString()
Returns a string representation of this instruction.
-
Constructor Details
-
NLIRMove
Constructs an NLIRMove object.- Parameters:
block
- enclosing block.id
- identifier of the instruction.from
- LIR to move from.to
- LIR to move to.
-
NLIRMove
Constructs an NLIRMove object.- Parameters:
block
- enclosing block.id
- identifier of the instruction.from
- register (virtual or physical) to move from.to
- register (virtual or physical) to move to.
-
-
Method Details
-
allocatePhysicalRegisters
public void allocatePhysicalRegisters()Replace references to virtual registers in this LIR instruction with references to physical registers.- Overrides:
allocatePhysicalRegisters
in classNLIRInstruction
-
toSpim
Translates this LIR instruction into SPIM and writes it out to the specified output stream.- Overrides:
toSpim
in classNLIRInstruction
- Parameters:
out
- output stream for SPIM code.
-
toString
Returns a string representation of this instruction.- Overrides:
toString
in classNLIRInstruction
- Returns:
- a string representation of this instruction.
-