]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/value-numbering/graph/graph.factor
Switch to https urls
[factor.git] / basis / compiler / cfg / value-numbering / graph / graph.factor
1 ! Copyright (C) 2008, 2010 Slava Pestov.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: assocs kernel namespaces ;
4 IN: compiler.cfg.value-numbering.graph
5
6 SYMBOL: input-expr-counter
7
8 SYMBOL: vregs>vns
9
10 SYMBOL: exprs>vns
11
12 SYMBOL: vns>insns
13
14 : vn>insn ( vn -- insn ) vns>insns get at ;
15
16 : vreg>vn ( vreg -- vn ) vregs>vns get [ ] cache ;
17
18 : set-vn ( vn vreg -- ) vregs>vns get set-at ;
19
20 : vreg>insn ( vreg -- insn ) vreg>vn vn>insn ;
21
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 ;