compiler.cfg.dominance: changed stack effect compute-dominance ( cfg -- cfg' ) to ( cfg -- )
parent
e5866dfa80
commit
befbe0bb59
|
@ -73,15 +73,17 @@ PRIVATE>
|
||||||
H{ } clone maxpreorder set
|
H{ } clone maxpreorder set
|
||||||
[ 0 ] dip entry>> (compute-dfs) drop ;
|
[ 0 ] dip entry>> (compute-dfs) drop ;
|
||||||
|
|
||||||
: compute-dominance ( cfg -- cfg' )
|
: compute-dominance ( cfg -- )
|
||||||
[ compute-dom-parents compute-dom-children ] [ compute-dfs ] [ ] tri ;
|
[ compute-dom-parents compute-dom-children ] [ compute-dfs ] bi ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
: needs-dominance ( cfg -- )
|
: needs-dominance ( cfg -- )
|
||||||
dup needs-predecessors
|
[ needs-predecessors ]
|
||||||
dup dominance-valid?>> [ compute-dominance t >>dominance-valid? ] unless
|
[
|
||||||
drop ;
|
dup dominance-valid?>> [ drop ]
|
||||||
|
[ t >>dominance-valid? compute-dominance ] if
|
||||||
|
] bi ;
|
||||||
|
|
||||||
: dominates? ( bb1 bb2 -- ? )
|
: dominates? ( bb1 bb2 -- ? )
|
||||||
swap [ pre-of ] [ [ pre-of ] [ maxpre-of ] bi ] bi* between? ;
|
swap [ pre-of ] [ [ pre-of ] [ maxpre-of ] bi ] bi* between? ;
|
||||||
|
|
Loading…
Reference in New Issue