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
: 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 ;
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
: 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 ;
[ 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
! 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