M: insn (collect-vreg-reps) drop ;
: collect-vreg-reps ( cfg -- )
- H{ } clone vreg-reps set
- HS{ } clone tagged-vregs set
+ H{ } clone vreg-reps namespaces:set
+ HS{ } clone tagged-vregs namespaces:set
[ [ (collect-vreg-reps) ] each-non-phi ] each-basic-block ;
SYMBOL: possibilities
: compute-possibilities ( cfg -- )
collect-vreg-reps
- vreg-reps get [ possible-reps ] assoc-map possibilities set ;
+ vreg-reps get [ possible-reps ] assoc-map possibilities namespaces:set ;
! For every vreg, compute the cost of keeping it in every possible
! representation.
SYMBOL: costs
: init-costs ( -- )
- possibilities get [ [ 0 ] H{ } map>assoc ] assoc-map costs set ;
+ possibilities get [ [ 0 ] H{ } map>assoc ] assoc-map costs namespaces:set ;
: increase-cost ( rep scc factor -- )
[ costs get at 2dup key? ] dip
: compute-costs ( cfg -- )
init-costs
[
- [ basic-block set ]
+ [ basic-block namespaces:set ]
[ [ compute-insn-costs ] each-non-phi ] bi
] each-basic-block ;
compute-costs costs get minimize-costs
[ components get [ disjoint-set-members ] keep ] dip
'[ dup _ representative _ at ] H{ } map>assoc
- representations set ;
+ representations namespaces:set ;