compiler.cfg.ssa.construction.tdmsc: more use of ?adjoin.
parent
93fb7805b0
commit
56a7cf4df2
|
|
@ -32,10 +32,9 @@ SYMBOLS: visited merge-sets levels again? ;
|
||||||
: level ( bb -- n ) levels get at ; inline
|
: level ( bb -- n ) levels get at ; inline
|
||||||
|
|
||||||
: update-merge-set ( tmp to -- )
|
: update-merge-set ( tmp to -- )
|
||||||
[ merge-sets get ] dip
|
[ merge-sets get ] dip over '[
|
||||||
'[
|
|
||||||
_
|
_
|
||||||
[ merge-sets get at union ]
|
[ _ at union ]
|
||||||
[ number>> over adjoin ]
|
[ number>> over adjoin ]
|
||||||
bi
|
bi
|
||||||
] change-at ;
|
] change-at ;
|
||||||
|
|
@ -50,23 +49,18 @@ SYMBOLS: visited merge-sets levels again? ;
|
||||||
[ [ predecessors>> ] keep ] dip
|
[ [ predecessors>> ] keep ] dip
|
||||||
'[ _ 2dup j-edge? _ [ 2drop ] if ] each ; inline
|
'[ _ 2dup j-edge? _ [ 2drop ] if ] each ; inline
|
||||||
|
|
||||||
: visited? ( pair -- ? ) visited get in? ;
|
|
||||||
|
|
||||||
: consistent? ( snode lnode -- ? )
|
: consistent? ( snode lnode -- ? )
|
||||||
[ merge-sets get at ] bi@ subset? ;
|
[ merge-sets get at ] bi@ subset? ;
|
||||||
|
|
||||||
: (process-edge) ( from to -- )
|
: (process-edge) ( from to -- )
|
||||||
f walk [
|
f walk [
|
||||||
2dup 2array visited? [
|
2dup 2array visited get ?adjoin
|
||||||
consistent? [ again? on ] unless
|
[ 2drop ] [ consistent? [ again? on ] unless ] if
|
||||||
] [ 2drop ] if
|
|
||||||
] each-incoming-j-edge ;
|
] each-incoming-j-edge ;
|
||||||
|
|
||||||
: process-edge ( from to -- )
|
: process-edge ( from to -- )
|
||||||
2dup 2array dup visited? [ 3drop ] [
|
2dup 2array visited get ?adjoin
|
||||||
visited get adjoin
|
[ (process-edge) ] [ 2drop ] if ;
|
||||||
(process-edge)
|
|
||||||
] if ;
|
|
||||||
|
|
||||||
: process-block ( bb -- )
|
: process-block ( bb -- )
|
||||||
[ process-edge ] each-incoming-j-edge ;
|
[ process-edge ] each-incoming-j-edge ;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue