##dispatch


Vocabulary
compiler.cfg.instructions

Definition
IN: compiler.cfg.instructions

TUPLE: ##dispatch < vreg-insn src temp insn# ;


Methods
USING: accessors compiler.cfg.gvn.avail
compiler.cfg.instructions kernel ;

M: ##dispatch >avail-insn-temps [ ] change-temp drop ;


USING: accessors compiler.cfg.gvn.avail
compiler.cfg.instructions kernel ;

M: ##dispatch >avail-insn-uses
[ dup >avail-vreg swap or ] change-src drop ;


USING: accessors compiler.cfg.instructions
compiler.cfg.linear-scan.assignment kernel ;

M: ##dispatch assign-insn-temps [ vreg>reg ] change-temp drop ;


USING: accessors compiler.cfg.instructions
compiler.cfg.linear-scan.assignment kernel ;

M: ##dispatch assign-insn-uses [ vreg>reg ] change-src drop ;


USING: accessors compiler.cfg.instructions
compiler.cfg.representations.rewrite kernel ;

M: ##dispatch convert-insn-temps [ ] change-temp drop ;


USING: accessors compiler.cfg.instructions
compiler.cfg.representations.rewrite kernel ;

M: ##dispatch convert-insn-uses
[ converted-value ] change-src drop ;


USING: accessors compiler.cfg compiler.cfg.instructions
compiler.codegen cpu.architecture kernel namespaces sequences ;

M: ##dispatch generate-insn
[ src>> ] [ temp>> ] bi %dispatch
basic-block get successors>>
[ lookup-label %dispatch-label ] each ;


USING: accessors compiler.cfg.instructions
compiler.cfg.registers compiler.cfg.renaming kernel ;

M: ##dispatch rename-insn-temps
[ drop next-vreg ] change-temp drop ;


USING: accessors compiler.cfg.instructions
compiler.cfg.renaming kernel ;

M: ##dispatch rename-insn-uses
[ rename-value ] change-src drop ;


USING: accessors compiler.cfg.instructions
compiler.cfg.ssa.construction.private kernel ;

M: ##dispatch ssa-rename-insn-temps [ ] change-temp drop ;


USING: accessors compiler.cfg.instructions
compiler.cfg.ssa.construction.private kernel ;

M: ##dispatch ssa-rename-insn-uses
[ top-name ] change-src drop ;


USING: compiler.cfg.instructions
compiler.cfg.representations.preferred cpu.architecture kernel
;

M: ##dispatch temp-vreg-reps drop { int-rep } ;


USING: accessors arrays compiler.cfg.def-use
compiler.cfg.instructions ;

M: ##dispatch temp-vregs temp>> 1array ;


USING: compiler.cfg.instructions
compiler.cfg.representations.preferred cpu.architecture kernel
;

M: ##dispatch uses-vreg-reps drop { int-rep } ;


USING: accessors arrays compiler.cfg.def-use
compiler.cfg.instructions ;

M: ##dispatch uses-vregs src>> 1array ;