compiler.cfg.linear-scan: fix resolve pass
parent
3edf4a2b75
commit
e6f5eab598
|
@ -23,7 +23,7 @@ SYMBOL: spill-temps
|
||||||
:: resolve-value-data-flow ( bb to vreg -- )
|
:: resolve-value-data-flow ( bb to vreg -- )
|
||||||
vreg bb vreg-at-end
|
vreg bb vreg-at-end
|
||||||
vreg to vreg-at-start
|
vreg to vreg-at-start
|
||||||
2dup eq? [ 2drop ] [ vreg reg-class>> add-mapping ] if ;
|
2dup = [ 2drop ] [ vreg reg-class>> add-mapping ] if ;
|
||||||
|
|
||||||
: compute-mappings ( bb to -- mappings )
|
: compute-mappings ( bb to -- mappings )
|
||||||
[
|
[
|
||||||
|
@ -58,7 +58,7 @@ SYMBOL: temp
|
||||||
} cond ;
|
} cond ;
|
||||||
|
|
||||||
: mapping-instructions ( alist -- insns )
|
: mapping-instructions ( alist -- insns )
|
||||||
>hashtable
|
[ swap ] H{ } assoc-map-as
|
||||||
[ temp [ swap >insn ] parallel-mapping ] { } make ;
|
[ temp [ swap >insn ] parallel-mapping ] { } make ;
|
||||||
|
|
||||||
: perform-mappings ( bb to mappings -- )
|
: perform-mappings ( bb to mappings -- )
|
||||||
|
|
|
@ -23,7 +23,7 @@ SYMBOLS: temp locs preds to-do ready ;
|
||||||
temp set
|
temp set
|
||||||
<dlist> to-do set
|
<dlist> to-do set
|
||||||
<dlist> ready set
|
<dlist> ready set
|
||||||
[ [ eq? not ] assoc-filter preds set ]
|
[ preds set ]
|
||||||
[ [ nip dup ] H{ } assoc-map-as locs set ]
|
[ [ nip dup ] H{ } assoc-map-as locs set ]
|
||||||
[ keys [ init-to-do ] [ init-ready ] bi ] tri ;
|
[ keys [ init-to-do ] [ init-ready ] bi ] tri ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue