From d81d3c8b687b9143da5c20147a50b4686450ca5d Mon Sep 17 00:00:00 2001 From: Alex Vondrak Date: Mon, 27 Jun 2011 16:00:44 -0700 Subject: [PATCH] compiler.cfg.gvn: convert expressions, graph, and misc to before the half-baked avail stuff --- extra/compiler/cfg/gvn/expressions/expressions.factor | 2 +- extra/compiler/cfg/gvn/graph/graph.factor | 8 ++------ extra/compiler/cfg/gvn/misc/misc.factor | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/extra/compiler/cfg/gvn/expressions/expressions.factor b/extra/compiler/cfg/gvn/expressions/expressions.factor index 46b9ace411..c656d4ccc0 100644 --- a/extra/compiler/cfg/gvn/expressions/expressions.factor +++ b/extra/compiler/cfg/gvn/expressions/expressions.factor @@ -88,4 +88,4 @@ M: ##load-reference >expr obj>> ; ! phi equivalences M: ##phi >expr - inputs>> values [ vreg>leader ] map \ ##phi prefix ; + inputs>> values [ vreg>vn ] map \ ##phi prefix ; diff --git a/extra/compiler/cfg/gvn/graph/graph.factor b/extra/compiler/cfg/gvn/graph/graph.factor index 351456d601..54ad502336 100644 --- a/extra/compiler/cfg/gvn/graph/graph.factor +++ b/extra/compiler/cfg/gvn/graph/graph.factor @@ -1,7 +1,6 @@ ! Copyright (C) 2008, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors compiler.cfg.gvn.avail kernel math namespaces -assocs ; +USING: accessors kernel math namespaces assocs ; IN: compiler.cfg.gvn.graph SYMBOL: input-expr-counter @@ -25,10 +24,7 @@ SYMBOL: final-iteration? : vn>insn ( vn -- insn ) vns>insns get at ; -: vreg>leader ( vreg -- vn ) vregs>vns get at ; - -: vreg>vn ( vreg -- vn ) - dup vreg>leader dup available? [ nip ] [ drop ] if ; +: vreg>vn ( vreg -- vn ) vregs>vns get at ; : set-vn ( vn vreg -- ) vregs>vns get maybe-set-at [ changed? on ] when ; diff --git a/extra/compiler/cfg/gvn/misc/misc.factor b/extra/compiler/cfg/gvn/misc/misc.factor index cbf1f8d66f..9e23ae3bdd 100644 --- a/extra/compiler/cfg/gvn/misc/misc.factor +++ b/extra/compiler/cfg/gvn/misc/misc.factor @@ -16,7 +16,7 @@ M: ##replace rewrite ] [ 2drop f ] if ; M: ##phi rewrite - [ dst>> ] [ inputs>> values [ vreg>leader ] map sift ] bi + [ dst>> ] [ inputs>> values [ vreg>vn ] map sift ] bi dup all-equal? [ [ drop f ] [ first ] if-empty