]> gitweb.factorcode.org Git - factor.git/commitdiff
SSA destruction uses new SSA liveness checking
authorDaniel Ehrenberg <littledan@Macintosh-122.local>
Sun, 2 Aug 2009 22:04:45 +0000 (18:04 -0400)
committerDaniel Ehrenberg <littledan@Macintosh-122.local>
Sun, 2 Aug 2009 22:04:45 +0000 (18:04 -0400)
basis/compiler/cfg/ssa/destruction/destruction.factor
basis/compiler/cfg/ssa/interference/interference-tests.factor
basis/compiler/cfg/ssa/interference/live-ranges/live-ranges.factor

index b251578bc86ec0a22681e105880c0dc8b5fb0d79..535dc6db86e7feae129e535887a68273b4ad3ad5 100644 (file)
@@ -8,7 +8,7 @@ compiler.cfg.def-use
 compiler.cfg.renaming
 compiler.cfg.dominance
 compiler.cfg.instructions
-compiler.cfg.liveness.ssa
+compiler.cfg.ssa.liveness
 compiler.cfg.ssa.cssa
 compiler.cfg.ssa.interference
 compiler.cfg.ssa.interference.live-ranges
@@ -97,11 +97,11 @@ M: insn prepare-insn drop ;
 : destruct-ssa ( cfg -- cfg' )
     dup cfg-has-phis? [
         dup construct-cssa
-        compute-ssa-live-sets
+        dup precompute-liveness
         dup compute-defs
         dup compute-dominance
         dup compute-live-ranges
         dup prepare-coalescing
         process-copies
         dup perform-renaming
-    ] when ;
\ No newline at end of file
+    ] when ;
index f8876755d92d318975453f86711320dc6e6ac6fd..9075d3b01098790df4c97f1c1f09c9b69e2c55a3 100644 (file)
@@ -1,6 +1,6 @@
 USING: accessors compiler.cfg compiler.cfg.debugger
 compiler.cfg.def-use compiler.cfg.dominance
-compiler.cfg.instructions compiler.cfg.liveness.ssa
+compiler.cfg.instructions compiler.cfg.ssa.liveness
 compiler.cfg.registers compiler.cfg.predecessors
 compiler.cfg.ssa.interference
 compiler.cfg.ssa.interference.live-ranges cpu.architecture
@@ -9,8 +9,8 @@ IN: compiler.cfg.ssa.interference.tests
 
 : test-interference ( -- )
     cfg new 0 get >>entry
-    compute-ssa-live-sets
     compute-predecessors
+    dup precompute-liveness
     dup compute-defs
     dup compute-dominance
     compute-live-ranges ;
@@ -49,4 +49,4 @@ V{
 [ t ] [ V int-regs 3 V int-regs 5 vregs-interfere? ] unit-test
 [ t ] [ V int-regs 5 V int-regs 3 vregs-interfere? ] unit-test
 [ f ] [ V int-regs 3 V int-regs 6 vregs-interfere? ] unit-test
-[ f ] [ V int-regs 6 V int-regs 3 vregs-interfere? ] unit-test
\ No newline at end of file
+[ f ] [ V int-regs 6 V int-regs 3 vregs-interfere? ] unit-test
index 151af8bea4e706e662b78b3cf02b5fed8963abd8..c29b69cf36804b6d3e0f0c0d23ed249aa629cc87 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs fry kernel namespaces sequences math
 arrays compiler.cfg.def-use compiler.cfg.instructions
-compiler.cfg.liveness.ssa compiler.cfg.rpo ;
+compiler.cfg.ssa.liveness compiler.cfg.rpo ;
 IN: compiler.cfg.ssa.interference.live-ranges
 
 ! Live ranges for interference testing