uses-vregs ( insn -- seq )


Vocabulary
compiler.cfg.def-use

Definition
IN: compiler.cfg.def-use

GENERIC: uses-vregs ( insn -- seq )


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

M: ##abs-vector uses-vregs src>> 1array ;


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

M: ##add-float uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##add-imm uses-vregs src1>> 1array ;


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

M: ##add-sub-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##add-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##add uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


USING: accessors compiler.cfg.def-use compiler.cfg.instructions
generic kernel sequences ;

M: ##alien-indirect uses-vregs
[ M\ ##alien-indirect uses-vregs (call-next-method) ]
[ src>> ] bi prefix ;


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

M: ##and-imm uses-vregs src1>> 1array ;


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

M: ##and-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##and uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##andn-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##avg-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##bit-count uses-vregs src>> 1array ;


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

M: ##box-alien uses-vregs src>> 1array ;


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

M: ##box-displaced-alien uses-vregs
[ displacement>> ] [ base>> ] bi 2array ;


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

M: ##box-long-long uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

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


USING: compiler.cfg.def-use compiler.cfg.instructions kernel ;

M: ##callback-inputs uses-vregs drop { } ;


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

M: ##callback-outputs uses-vregs reg-inputs>> [ first ] map ;


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

M: ##compare-branch uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##compare-float-ordered-branch uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##compare-float-ordered uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##compare-float-unordered-branch uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##compare-float-unordered uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##compare-imm-branch uses-vregs src1>> 1array ;


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

M: ##compare-imm uses-vregs src1>> 1array ;


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

M: ##compare-integer-branch uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##compare-integer-imm-branch uses-vregs src1>> 1array ;


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

M: ##compare-integer-imm uses-vregs src1>> 1array ;


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

M: ##compare-integer uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##compare-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##compare uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##convert-integer uses-vregs src>> 1array ;


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

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


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

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


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

M: ##div-float uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##div-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##dot-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##double>single-float uses-vregs src>> 1array ;


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

M: ##fixnum-add uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##fixnum-mul uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##fixnum-sub uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##float-pack-vector uses-vregs src>> 1array ;


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

M: ##float>integer-vector uses-vregs src>> 1array ;


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

M: ##float>integer uses-vregs src>> 1array ;


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

M: ##gather-int-vector-2 uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


USING: accessors combinators compiler.cfg.def-use
compiler.cfg.instructions sequences.generalizations ;

M: ##gather-int-vector-4 uses-vregs
{ [ src1>> ] [ src2>> ] [ src3>> ] [ src4>> ] } cleave
4 narray ;


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

M: ##gather-vector-2 uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


USING: accessors combinators compiler.cfg.def-use
compiler.cfg.instructions sequences.generalizations ;

M: ##gather-vector-4 uses-vregs
{ [ src1>> ] [ src2>> ] [ src3>> ] [ src4>> ] } cleave
4 narray ;


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

M: ##horizontal-add-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##horizontal-shl-vector-imm uses-vregs src1>> 1array ;


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

M: ##horizontal-shr-vector-imm uses-vregs src1>> 1array ;


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

M: ##horizontal-sub-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##integer>float-vector uses-vregs src>> 1array ;


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

M: ##integer>float uses-vregs src>> 1array ;


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

M: ##integer>scalar uses-vregs src>> 1array ;


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

M: ##load-memory-imm uses-vregs base>> 1array ;


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

M: ##load-memory uses-vregs
[ base>> ] [ displacement>> ] bi 2array ;


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

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


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

M: ##max-float uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##max-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##max uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##merge-vector-head uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##merge-vector-tail uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##min-float uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##min-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##min uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##move-vector-mask uses-vregs src>> 1array ;


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

M: ##mul-float uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##mul-high-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##mul-horizontal-add-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##mul-imm uses-vregs src1>> 1array ;


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

M: ##mul-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##mul uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

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


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

M: ##not-vector uses-vregs src>> 1array ;


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

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


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

M: ##or-imm uses-vregs src1>> 1array ;


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

M: ##or-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##or uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##parallel-copy uses-vregs values>> [ second ] map ;


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

M: ##phi uses-vregs inputs>> values ;


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

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


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

M: ##sad-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##sar-imm uses-vregs src1>> 1array ;


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

M: ##sar uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##saturated-add-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##saturated-mul-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##saturated-sub-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##scalar>integer uses-vregs src>> 1array ;


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

M: ##scalar>vector uses-vregs src>> 1array ;


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

M: ##select-vector uses-vregs src>> 1array ;


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

M: ##set-slot-imm uses-vregs [ src>> ] [ obj>> ] bi 2array ;


USING: accessors combinators compiler.cfg.def-use
compiler.cfg.instructions sequences.generalizations ;

M: ##set-slot uses-vregs
{ [ src>> ] [ obj>> ] [ slot>> ] } cleave 3 narray ;


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

M: ##set-vm-field uses-vregs src>> 1array ;


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

M: ##shl-imm uses-vregs src1>> 1array ;


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

M: ##shl-vector-imm uses-vregs src1>> 1array ;


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

M: ##shl-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##shl uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##shr-imm uses-vregs src1>> 1array ;


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

M: ##shr-vector-imm uses-vregs src1>> 1array ;


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

M: ##shr-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##shr uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##shuffle-vector-halves-imm uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##shuffle-vector-imm uses-vregs src>> 1array ;


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

M: ##shuffle-vector uses-vregs
[ src>> ] [ shuffle>> ] bi 2array ;


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

M: ##signed-pack-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##single>double-float uses-vregs src>> 1array ;


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

M: ##slot-imm uses-vregs obj>> 1array ;


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

M: ##slot uses-vregs [ obj>> ] [ slot>> ] bi 2array ;


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

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


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

M: ##sqrt-vector uses-vregs src>> 1array ;


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

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


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

M: ##store-memory-imm uses-vregs
[ src>> ] [ base>> ] bi 2array ;


USING: accessors combinators compiler.cfg.def-use
compiler.cfg.instructions sequences.generalizations ;

M: ##store-memory uses-vregs
{ [ src>> ] [ base>> ] [ displacement>> ] } cleave 3 narray
;


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

M: ##sub-float uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##sub-imm uses-vregs src1>> 1array ;


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

M: ##sub-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##sub uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##tagged>integer uses-vregs src>> 1array ;


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

M: ##tail>head-vector uses-vregs src>> 1array ;


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

M: ##test-branch uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##test-imm-branch uses-vregs src1>> 1array ;


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

M: ##test-imm uses-vregs src1>> 1array ;


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

M: ##test-vector-branch uses-vregs src1>> 1array ;


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

M: ##test-vector uses-vregs src1>> 1array ;


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

M: ##test uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##unbox-alien uses-vregs src>> 1array ;


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

M: ##unbox-any-c-ptr uses-vregs src>> 1array ;


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

M: ##unbox-long-long uses-vregs src>> 1array ;


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

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


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

M: ##unpack-vector-head uses-vregs src>> 1array ;


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

M: ##unpack-vector-tail uses-vregs src>> 1array ;


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

M: ##unsigned-pack-vector uses-vregs
[ src1>> ] [ src2>> ] bi 2array ;


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

M: ##vector>scalar uses-vregs src>> 1array ;


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

M: ##write-barrier-imm uses-vregs src>> 1array ;


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

M: ##write-barrier uses-vregs [ src>> ] [ slot>> ] bi 2array ;


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

M: ##xor-imm uses-vregs src1>> 1array ;


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

M: ##xor-vector uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


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

M: ##xor uses-vregs [ src1>> ] [ src2>> ] bi 2array ;


USING: accessors compiler.cfg.def-use compiler.cfg.instructions
kernel sequences ;

M: alien-call-insn uses-vregs
[ reg-inputs>> ] [ stack-inputs>> ] bi append [ first ] map
;


USING: compiler.cfg.def-use compiler.cfg.instructions kernel ;

M: insn uses-vregs drop { } ;