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 -- )
|
||||
vreg bb vreg-at-end
|
||||
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 )
|
||||
[
|
||||
|
@ -58,7 +58,7 @@ SYMBOL: temp
|
|||
} cond ;
|
||||
|
||||
: mapping-instructions ( alist -- insns )
|
||||
>hashtable
|
||||
[ swap ] H{ } assoc-map-as
|
||||
[ temp [ swap >insn ] parallel-mapping ] { } make ;
|
||||
|
||||
: perform-mappings ( bb to mappings -- )
|
||||
|
|
|
@ -23,7 +23,7 @@ SYMBOLS: temp locs preds to-do ready ;
|
|||
temp set
|
||||
<dlist> to-do set
|
||||
<dlist> ready set
|
||||
[ [ eq? not ] assoc-filter preds set ]
|
||||
[ preds set ]
|
||||
[ [ nip dup ] H{ } assoc-map-as locs set ]
|
||||
[ keys [ init-to-do ] [ init-ready ] bi ] tri ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue