process-instruction ( insn -- insn' )


Vocabulary
compiler.cfg.value-numbering

Definition
IN: compiler.cfg.value-numbering

GENERIC: process-instruction ( insn -- insn' )


Methods
USING: accessors compiler.cfg.instructions
compiler.cfg.value-numbering compiler.cfg.value-numbering.graph
kernel ;

M: ##copy process-instruction
dup [ src>> vreg>vn ] [ dst>> ] bi set-vn ;


USING: arrays compiler.cfg.value-numbering sequences ;

M: array process-instruction [ process-instruction ] map ;


USING: compiler.cfg.def-use compiler.cfg.instructions
compiler.cfg.value-numbering
compiler.cfg.value-numbering.rewrite kernel sequences ;

M: foldable-insn process-instruction
dup rewrite
[ process-instruction ]
[ dup defs-vregs length 1 = [ check-redundancy ] when ] ?if
;


USING: compiler.cfg.instructions compiler.cfg.value-numbering
compiler.cfg.value-numbering.rewrite kernel ;

M: insn process-instruction
dup rewrite [ process-instruction ] [ ] ?if ;