From 3b78d03e2a28f518845ab836f449e1ea04db13da Mon Sep 17 00:00:00 2001
From: Daniel Ehrenberg <littledan@Macintosh-122.local>
Date: Sun, 2 Aug 2009 18:05:51 -0400
Subject: [PATCH] minor SSA liveness code reorganization

---
 .../compiler/cfg/ssa/liveness/liveness.factor | 22 +++----------------
 1 file changed, 3 insertions(+), 19 deletions(-)

diff --git a/basis/compiler/cfg/ssa/liveness/liveness.factor b/basis/compiler/cfg/ssa/liveness/liveness.factor
index 8788bc72f5..f2a195eb24 100644
--- a/basis/compiler/cfg/ssa/liveness/liveness.factor
+++ b/basis/compiler/cfg/ssa/liveness/liveness.factor
@@ -97,31 +97,15 @@ SYMBOL: phi-outs
     H{ } T_q-sets set
     [ next-T_q drop ] each-basic-block ;
 
-:: compute-phi-uses ( cfg -- )
-    ! Here, a phi node uses its argument in the block that it comes from.
-    H{ } clone :> use
-    cfg [| block |
-        block instructions>> [
-            dup ##phi?
-            [ inputs>> [ use conjoin-at ] assoc-each ]
-            [ uses-vregs [ block swap use conjoin-at ] each ]
-            if
-        ] each
-    ] each-basic-block
-    use [ keys ] assoc-map uses set ;
-
 PRIVATE>
 
 : precompute-liveness ( cfg -- )
-    ! The first three of these depend only on the graph
-    ! structure of the CFG, and don't need to be recomputed
-    ! if that doesn't change
+    ! Maybe dominance and def-use should be called before this, separately
     {
+        [ compute-dominance ]
+        [ compute-def-use ]
         [ compute-R_q ]
         [ compute-T_q ]
-        [ compute-dominance ]
-        [ compute-defs ]
-        [ compute-phi-uses ]
     } cleave ;
 
 <PRIVATE