compiler.cfg.parallel-copy: make sure new vregs used to break cycles in parallel-copy-rep update the leader-map (issue #22)

db4
Alex Vondrak 2012-12-28 08:51:16 -08:00 committed by Doug Coleman
parent ff1c2c293b
commit b08c077023
1 changed files with 5 additions and 3 deletions

View File

@ -1,8 +1,9 @@
! Copyright (C) 2009 Slava Pestov. ! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: assocs cpu.architecture compiler.cfg.registers USING: assocs cpu.architecture compiler.cfg.registers
compiler.cfg.instructions deques dlists fry kernel locals namespaces compiler.cfg.instructions compiler.cfg.ssa.destruction deques
sequences hashtables ; dlists fry kernel locals namespaces sequences hashtables ;
FROM: sets => conjoin ;
IN: compiler.cfg.parallel-copy IN: compiler.cfg.parallel-copy
! Revisiting Out-of-SSA Translation for Correctness, Code Quality, and Efficiency ! Revisiting Out-of-SSA Translation for Correctness, Code Quality, and Efficiency
@ -67,7 +68,8 @@ PRIVATE>
SYMBOL: temp-vregs SYMBOL: temp-vregs
: temp-vreg ( rep -- vreg ) : temp-vreg ( rep -- vreg )
temp-vregs get [ next-vreg-rep ] cache ; temp-vregs get [ next-vreg-rep ] cache
[ leader-map get conjoin ] keep ;
PRIVATE> PRIVATE>