]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/ssa/construction/tdmsc/tdmsc-tests.factor
1e12b84f2736bfe2fd1015d5d72917717748f972
[factor.git] / basis / compiler / cfg / ssa / construction / tdmsc / tdmsc-tests.factor
1 USING: accessors arrays compiler.cfg compiler.cfg.debugger
2 compiler.cfg.dominance compiler.cfg.predecessors
3 compiler.cfg.ssa.construction.tdmsc compiler.cfg.utilities kernel namespaces
4 sequences sets tools.test vectors ;
5 FROM: namespaces => set ;
6 IN: compiler.cfg.ssa.construction.tdmsc.tests
7
8 : test-tdmsc ( -- )
9     0 get block>cfg dup cfg set
10     compute-merge-sets ;
11
12 V{ } 0 test-bb
13 V{ } 1 test-bb
14 V{ } 2 test-bb
15 V{ } 3 test-bb
16 V{ } 4 test-bb
17 V{ } 5 test-bb
18
19 0 { 1 2 } edges
20 1 3 edge
21 2 4 edge
22 3 4 edge
23 4 5 edge
24
25 [ ] [ test-tdmsc ] unit-test
26
27 [ { 4 } ] [ 1 get 1array merge-set [ number>> ] map ] unit-test
28 [ { 4 } ] [ 2 get 1array merge-set [ number>> ] map ] unit-test
29 [ { } ] [ 0 get 1array merge-set ] unit-test
30 [ { } ] [ 4 get 1array merge-set ] unit-test
31
32 V{ } 0 test-bb
33 V{ } 1 test-bb
34 V{ } 2 test-bb
35 V{ } 3 test-bb
36 V{ } 4 test-bb
37 V{ } 5 test-bb
38 V{ } 6 test-bb
39
40 0 { 1 5 } edges
41 1 { 2 3 } edges
42 2 4 edge
43 3 4 edge
44 4 6 edge
45 5 6 edge
46
47 [ ] [ test-tdmsc ] unit-test
48
49 [ t ] [
50     2 get 3 get 2array merge-set
51     4 get 6 get 2array set=
52 ] unit-test
53
54 V{ } 0 test-bb
55 V{ } 1 test-bb
56 V{ } 2 test-bb
57 V{ } 3 test-bb
58 V{ } 4 test-bb
59 V{ } 5 test-bb
60 V{ } 6 test-bb
61 V{ } 7 test-bb
62
63 0 1 edge
64 1 2 edge
65 2 { 3 6 } edges
66 3 4 edge
67 6 7 edge
68 4 5 edge
69 5 2 edge
70
71 [ ] [ test-tdmsc ] unit-test
72
73 [ { 2 } ] [ { 2 3 4 5 } [ get ] map merge-set [ number>> ] map ] unit-test
74 [ { } ] [ { 0 1 6 7 } [ get ] map merge-set ] unit-test