SSA destruction uses new SSA liveness checking

db4
Daniel Ehrenberg 2009-08-02 18:04:45 -04:00
parent d349cc565a
commit cf7ab59fb7
3 changed files with 7 additions and 7 deletions

View File

@ -8,7 +8,7 @@ compiler.cfg.def-use
compiler.cfg.renaming compiler.cfg.renaming
compiler.cfg.dominance compiler.cfg.dominance
compiler.cfg.instructions compiler.cfg.instructions
compiler.cfg.liveness.ssa compiler.cfg.ssa.liveness
compiler.cfg.ssa.cssa compiler.cfg.ssa.cssa
compiler.cfg.ssa.interference compiler.cfg.ssa.interference
compiler.cfg.ssa.interference.live-ranges compiler.cfg.ssa.interference.live-ranges
@ -97,11 +97,11 @@ M: insn prepare-insn drop ;
: destruct-ssa ( cfg -- cfg' ) : destruct-ssa ( cfg -- cfg' )
dup cfg-has-phis? [ dup cfg-has-phis? [
dup construct-cssa dup construct-cssa
compute-ssa-live-sets dup precompute-liveness
dup compute-defs dup compute-defs
dup compute-dominance dup compute-dominance
dup compute-live-ranges dup compute-live-ranges
dup prepare-coalescing dup prepare-coalescing
process-copies process-copies
dup perform-renaming dup perform-renaming
] when ; ] when ;

View File

@ -1,6 +1,6 @@
USING: accessors compiler.cfg compiler.cfg.debugger USING: accessors compiler.cfg compiler.cfg.debugger
compiler.cfg.def-use compiler.cfg.dominance 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.registers compiler.cfg.predecessors
compiler.cfg.ssa.interference compiler.cfg.ssa.interference
compiler.cfg.ssa.interference.live-ranges cpu.architecture compiler.cfg.ssa.interference.live-ranges cpu.architecture
@ -9,8 +9,8 @@ IN: compiler.cfg.ssa.interference.tests
: test-interference ( -- ) : test-interference ( -- )
cfg new 0 get >>entry cfg new 0 get >>entry
compute-ssa-live-sets
compute-predecessors compute-predecessors
dup precompute-liveness
dup compute-defs dup compute-defs
dup compute-dominance dup compute-dominance
compute-live-ranges ; 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 3 V int-regs 5 vregs-interfere? ] unit-test
[ t ] [ V int-regs 5 V int-regs 3 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 3 V int-regs 6 vregs-interfere? ] unit-test
[ f ] [ V int-regs 6 V int-regs 3 vregs-interfere? ] unit-test [ f ] [ V int-regs 6 V int-regs 3 vregs-interfere? ] unit-test

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors assocs fry kernel namespaces sequences math USING: accessors assocs fry kernel namespaces sequences math
arrays compiler.cfg.def-use compiler.cfg.instructions 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 IN: compiler.cfg.ssa.interference.live-ranges
! Live ranges for interference testing ! Live ranges for interference testing