From befbe0bb593e8cb29783a8440789550fc190b25b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= Date: Wed, 10 Dec 2014 22:55:55 +0100 Subject: [PATCH] compiler.cfg.dominance: changed stack effect compute-dominance ( cfg -- cfg' ) to ( cfg -- ) --- basis/compiler/cfg/dominance/dominance.factor | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/basis/compiler/cfg/dominance/dominance.factor b/basis/compiler/cfg/dominance/dominance.factor index 86742574d3..619c7dbfd7 100644 --- a/basis/compiler/cfg/dominance/dominance.factor +++ b/basis/compiler/cfg/dominance/dominance.factor @@ -73,15 +73,17 @@ PRIVATE> H{ } clone maxpreorder set [ 0 ] dip entry>> (compute-dfs) drop ; -: compute-dominance ( cfg -- cfg' ) - [ compute-dom-parents compute-dom-children ] [ compute-dfs ] [ ] tri ; +: compute-dominance ( cfg -- ) + [ compute-dom-parents compute-dom-children ] [ compute-dfs ] bi ; PRIVATE> : needs-dominance ( cfg -- ) - dup needs-predecessors - dup dominance-valid?>> [ compute-dominance t >>dominance-valid? ] unless - drop ; + [ needs-predecessors ] + [ + dup dominance-valid?>> [ drop ] + [ t >>dominance-valid? compute-dominance ] if + ] bi ; : dominates? ( bb1 bb2 -- ? ) swap [ pre-of ] [ [ pre-of ] [ maxpre-of ] bi ] bi* between? ;