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>