moveRegister

fun <R : L2Register, RR : L2ReadOperand<R>, WR : L2WriteOperand<R>, RV : L2ReadVectorOperand<R, RR>> moveRegister(    moveOperation: L2_MOVE<R, RR, WR, RV>,     sourceSemanticValue: L2SemanticValue,     targetSemanticValue: L2SemanticValue)

Generate instructions to arrange for the value in the given L2ReadOperand to end up in an L2Register associated in the L2ValueManifest with the new L2SemanticValue. After the move, the synonyms for the source and destination are effectively merged, which is justified by virtue of SSA (static-single-assignment) being in effect.

Parameters

The kind of [L2ReadVectorOperand] for creating read vectors.
moveOperation

The L2_MOVE operation to generate.

sourceSemanticValue

Which L2SemanticValue to read.

targetSemanticValue

Which L2SemanticValue will have the same value as the source semantic value.