compiler.cfg.gvn: convert expressions, graph, and misc to before the half-baked avail stuff

db4
Alex Vondrak 2011-06-27 16:00:44 -07:00 committed by John Benediktsson
parent ffe70b55e9
commit d81d3c8b68
3 changed files with 4 additions and 8 deletions

View File

@ -88,4 +88,4 @@ M: ##load-reference >expr obj>> <reference-expr> ;
! phi equivalences ! phi equivalences
M: ##phi >expr M: ##phi >expr
inputs>> values [ vreg>leader ] map \ ##phi prefix ; inputs>> values [ vreg>vn ] map \ ##phi prefix ;

View File

@ -1,7 +1,6 @@
! Copyright (C) 2008, 2010 Slava Pestov. ! Copyright (C) 2008, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors compiler.cfg.gvn.avail kernel math namespaces USING: accessors kernel math namespaces assocs ;
assocs ;
IN: compiler.cfg.gvn.graph IN: compiler.cfg.gvn.graph
SYMBOL: input-expr-counter SYMBOL: input-expr-counter
@ -25,10 +24,7 @@ SYMBOL: final-iteration?
: vn>insn ( vn -- insn ) vns>insns get at ; : vn>insn ( vn -- insn ) vns>insns get at ;
: vreg>leader ( vreg -- vn ) vregs>vns get at ; : vreg>vn ( vreg -- vn ) vregs>vns get at ;
: vreg>vn ( vreg -- vn )
dup vreg>leader dup available? [ nip ] [ drop ] if ;
: set-vn ( vn vreg -- ) : set-vn ( vn vreg -- )
vregs>vns get maybe-set-at [ changed? on ] when ; vregs>vns get maybe-set-at [ changed? on ] when ;

View File

@ -16,7 +16,7 @@ M: ##replace rewrite
] [ 2drop f ] if ; ] [ 2drop f ] if ;
M: ##phi rewrite M: ##phi rewrite
[ dst>> ] [ inputs>> values [ vreg>leader ] map sift ] bi [ dst>> ] [ inputs>> values [ vreg>vn ] map sift ] bi
dup all-equal? [ dup all-equal? [
[ drop f ] [ drop f ]
[ first <copy> ] if-empty [ first <copy> ] if-empty