27 lines
		
	
	
		
			594 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			594 B
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2008, 2010 Slava Pestov.
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
USING: assocs kernel namespaces ;
 | 
						|
IN: compiler.cfg.value-numbering.graph
 | 
						|
 | 
						|
SYMBOL: input-expr-counter
 | 
						|
 | 
						|
SYMBOL: vregs>vns
 | 
						|
 | 
						|
SYMBOL: exprs>vns
 | 
						|
 | 
						|
SYMBOL: vns>insns
 | 
						|
 | 
						|
: vn>insn ( vn -- insn ) vns>insns get at ;
 | 
						|
 | 
						|
: vreg>vn ( vreg -- vn ) vregs>vns get [ ] cache ;
 | 
						|
 | 
						|
: set-vn ( vn vreg -- ) vregs>vns get set-at ;
 | 
						|
 | 
						|
: vreg>insn ( vreg -- insn ) vreg>vn vn>insn ;
 | 
						|
 | 
						|
: init-value-graph ( -- )
 | 
						|
    0 input-expr-counter set
 | 
						|
    H{ } clone vregs>vns set
 | 
						|
    H{ } clone exprs>vns set
 | 
						|
    H{ } clone vns>insns set ;
 |