]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.cfg.parallel-copy: make sure new vregs used to break cycles in parallel...
authorAlex Vondrak <ajvondrak@gmail.com>
Fri, 28 Dec 2012 16:51:16 +0000 (08:51 -0800)
committerDoug Coleman <doug.coleman@gmail.com>
Mon, 31 Dec 2012 19:04:44 +0000 (11:04 -0800)
basis/compiler/cfg/parallel-copy/parallel-copy.factor

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