 
 : alias-analysis-step ( insns -- insns' )
     reset-alias-analysis
-    [ local-live-in [ set-heap-ac ] each ]
     [ 0 [ [ insn#<< ] [ drop 1 + ] 2bi ] reduce drop ]
-    [ [ analyze-aliases ] map! [ eliminate-dead-stores ] filter! ] tri ;
+    [ [ analyze-aliases ] map! [ eliminate-dead-stores ] filter! ] bi ;
 
 : alias-analysis ( cfg -- cfg )
     init-alias-analysis


: dead-store ( insn# -- ) dead-stores get adjoin ;

:: set-ac ( vreg ac -- )
    #! Set alias class of newly-seen vreg.
    H{ } clone vreg recent-stores get set-at
    H{ } clone vreg live-slots get set-at
    ac vreg vregs>acs get set-at
    vreg ac acs>vregs get push-at ;


    #! value.
    over [ live-slots get at at ] [ 2drop f ] if ;

: load-constant-slot ( value slot# vreg -- )
    live-slots get [ drop H{ } clone ] cache set-at ;

: load-slot ( value slot#/f vreg -- )
    over [ load-constant-slot ] [ 3drop ] if ;
