 ! See http://factorcode.org/license.txt for BSD license.
 USING: kernel math namespaces assocs hashtables sequences arrays
 accessors words vectors combinators combinators.short-circuit
-sets classes layouts cpu.architecture
+sets classes layouts fry cpu.architecture
 compiler.cfg
 compiler.cfg.rpo
 compiler.cfg.def-use

: remember-set-slot ( slot#/f vreg -- )
    over [
        [ record-constant-set-slot ]
        [ kill-constant-set-slot ] 2bi
    ] [ nip kill-computed-set-slot ] if ;

GENERIC: insn-slot# ( insn -- slot#/f )

    dup
    [ src>> resolve ] [ insn-slot# ] [ insn-object ] tri
    3dup idempotent? [ 3drop ] [
        [ 2drop heap-ac get merge-acs ]
        [ remember-set-slot drop ]
        [ load-slot ]
        3tri
    ] if ;

M: ##copy analyze-aliases*
