1 ! Copyright (C) 2008, 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: assocs kernel namespaces ;
4 IN: compiler.cfg.value-numbering.graph
6 SYMBOL: input-expr-counter
14 : vn>insn ( vn -- insn ) vns>insns get at ;
16 : vreg>vn ( vreg -- vn ) vregs>vns get [ ] cache ;
18 : set-vn ( vn vreg -- ) vregs>vns get set-at ;
20 : vreg>insn ( vreg -- insn ) vreg>vn vn>insn ;
22 : init-value-graph ( -- )
23 0 input-expr-counter set
24 H{ } clone vregs>vns set
25 H{ } clone exprs>vns set
26 H{ } clone vns>insns set ;