factor/basis/compiler/cfg/representations/coalescing/coalescing-tests.factor

42 lines
781 B
Factor

USING: arrays sequences kernel namespaces accessors compiler.cfg
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.debugger
compiler.cfg.representations.coalescing
compiler.cfg.utilities
tools.test ;
IN: compiler.cfg.representations.coalescing.tests
: test-scc ( -- )
0 get block>cfg compute-components ;
V{
T{ ##prologue }
T{ ##branch }
} 0 test-bb
V{
T{ ##peek f 2 D: 0 }
T{ ##load-integer f 0 0 }
T{ ##branch }
} 1 test-bb
V{
T{ ##load-integer f 1 0 }
T{ ##branch }
} 2 test-bb
V{
T{ ##phi f 3 H{ { 1 0 } { 2 1 } } }
} 3 test-bb
0 { 1 2 } edges
1 3 edge
2 3 edge
{ } [ test-scc ] unit-test
{ t } [ 0 vreg>scc 1 vreg>scc = ] unit-test
{ t } [ 0 vreg>scc 3 vreg>scc = ] unit-test
{ f } [ 2 vreg>scc 3 vreg>scc = ] unit-test