]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/linear-scan/resolve/resolve-tests.factor
compiler.cfg.linear-scan: more test fixes
[factor.git] / basis / compiler / cfg / linear-scan / resolve / resolve-tests.factor
1 IN: compiler.cfg.linear-scan.resolve.tests
2 USING: compiler.cfg.linear-scan.resolve tools.test kernel namespaces
3 compiler.cfg.instructions cpu.architecture make sequences
4 compiler.cfg.linear-scan.allocation.state ;
5
6 [
7     {
8         { { T{ spill-slot f 0 } int-regs } { 1 int-regs } }
9     }
10 ] [
11     [
12         0 <spill-slot> 1 int-regs add-mapping
13     ] { } make
14 ] unit-test
15
16 [
17     {
18         T{ _reload { dst 1 } { class int-regs } { n 0 } }
19     }
20 ] [
21     [
22         { T{ spill-slot f 0 } int-regs } { 1 int-regs } >insn
23     ] { } make
24 ] unit-test
25
26 [
27     {
28         T{ _spill { src 1 } { class int-regs } { n 0 } }
29     }
30 ] [
31     [
32         { 1 int-regs } { T{ spill-slot f 0 } int-regs } >insn
33     ] { } make
34 ] unit-test
35
36 [
37     {
38         T{ _copy { src 1 } { dst 2 } { class int-regs } }
39     }
40 ] [
41     [
42         { 1 int-regs } { 2 int-regs } >insn
43     ] { } make
44 ] unit-test
45
46 H{ { int-regs 10 } { float-regs 20 } } clone spill-counts set
47 H{ } clone spill-temps set
48
49 [
50     t
51 ] [
52     { { { 0 int-regs } { 1 int-regs } } { { 1 int-regs } { 0 int-regs } } }
53     mapping-instructions {
54         {
55             T{ _spill { src 0 } { class int-regs } { n 10 } }
56             T{ _copy { dst 0 } { src 1 } { class int-regs } }
57             T{ _reload { dst 1 } { class int-regs } { n 10 } }
58         }
59         {
60             T{ _spill { src 1 } { class int-regs } { n 10 } }
61             T{ _copy { dst 1 } { src 0 } { class int-regs } }
62             T{ _reload { dst 0 } { class int-regs } { n 10 } }
63         }
64     } member?
65 ] unit-test