1 USING: compiler.cfg.linear-scan.resolve tools.test kernel namespaces
4 compiler.cfg.instructions cpu.architecture make sequences
5 compiler.cfg.linear-scan.allocation.state ;
6 IN: compiler.cfg.linear-scan.resolve.tests
11 T{ location f T{ spill-slot f 0 } int-rep int-regs }
12 T{ location f 1 int-rep int-regs }
17 0 <spill-slot> 1 int-rep add-mapping
23 T{ ##reload { dst 1 } { rep int-rep } { src T{ spill-slot f 0 } } }
27 T{ location f T{ spill-slot f 0 } int-rep int-regs }
28 T{ location f 1 int-rep int-regs }
35 T{ ##spill { src 1 } { rep int-rep } { dst T{ spill-slot f 0 } } }
39 T{ location f 1 int-rep int-regs }
40 T{ location f T{ spill-slot f 0 } int-rep int-regs }
47 T{ ##copy { src 1 } { dst 2 } { rep int-rep } }
51 T{ location f 1 int-rep int-regs }
52 T{ location f 2 int-rep int-regs }
59 T{ ##copy { src 1 } { dst 2 } { rep int-rep } }
63 { { T{ location f 1 int-rep int-regs } T{ location f 2 int-rep int-regs } } }
69 T{ ##spill { src 0 } { rep int-rep } { dst T{ spill-slot f 0 } } }
70 T{ ##reload { dst 0 } { rep tagged-rep } { src T{ spill-slot f 1 } } }
75 { T{ location f T{ spill-slot f 1 } tagged-rep int-regs } T{ location f 0 tagged-rep int-regs } }
76 { T{ location f 0 int-rep int-regs } T{ location f T{ spill-slot f 0 } int-rep int-regs } }
83 T{ ##spill { src 0 } { rep int-rep } { dst T{ spill-slot f 1 } } }
84 T{ ##reload { dst 0 } { rep tagged-rep } { src T{ spill-slot f 0 } } }
89 { T{ location f T{ spill-slot f 0 } tagged-rep int-regs } T{ location f 0 tagged-rep int-regs } }
90 { T{ location f 0 int-rep int-regs } T{ location f T{ spill-slot f 1 } int-rep int-regs } }
97 T{ ##spill { src 0 } { rep int-rep } { dst T{ spill-slot f 1 } } }
98 T{ ##reload { dst 0 } { rep tagged-rep } { src T{ spill-slot f 0 } } }
103 { T{ location f 0 int-rep int-regs } T{ location f T{ spill-slot f 1 } int-rep int-regs } }
104 { T{ location f T{ spill-slot f 0 } tagged-rep int-regs } T{ location f 0 tagged-rep int-regs } }
109 cfg new 8 >>spill-area-size cfg set
114 { T{ location f 0 int-rep int-regs } T{ location f 1 int-rep int-regs } }
115 { T{ location f 1 int-rep int-regs } T{ location f 0 int-rep int-regs } }
117 mapping-instructions {
119 T{ ##spill { src 0 } { rep int-rep } { dst T{ spill-slot f 8 } } }
120 T{ ##copy { dst 0 } { src 1 } { rep int-rep } }
121 T{ ##reload { dst 1 } { rep int-rep } { src T{ spill-slot f 8 } } }
125 T{ ##spill { src 1 } { rep int-rep } { dst T{ spill-slot f 8 } } }
126 T{ ##copy { dst 1 } { src 0 } { rep int-rep } }
127 T{ ##reload { dst 0 } { rep int-rep } { src T{ spill-slot f 8 } } }