From b08c077023c2448282d798611a0d727973d96cb6 Mon Sep 17 00:00:00 2001
From: Alex Vondrak <ajvondrak@gmail.com>
Date: Fri, 28 Dec 2012 08:51:16 -0800
Subject: [PATCH] compiler.cfg.parallel-copy: make sure new vregs used to break
 cycles in parallel-copy-rep update the leader-map (issue #22)

---
 basis/compiler/cfg/parallel-copy/parallel-copy.factor | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/basis/compiler/cfg/parallel-copy/parallel-copy.factor b/basis/compiler/cfg/parallel-copy/parallel-copy.factor
index 51cfc192e1..e0ab6ddb62 100644
--- a/basis/compiler/cfg/parallel-copy/parallel-copy.factor
+++ b/basis/compiler/cfg/parallel-copy/parallel-copy.factor
@@ -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>