1 USING: alien.syntax compiler.cfg.def-use compiler.cfg.instructions
2 compiler.cfg.registers compiler.cfg.ssa.destruction
3 compiler.cfg.ssa.destruction.leaders
4 compiler.cfg.ssa.destruction.private compiler.cfg.utilities
5 cpu.architecture cpu.x86.assembler.operands kernel make namespaces tools.test ;
6 IN: compiler.cfg.ssa.destruction.tests
10 V{ T{ ##copy { src 45 } { dst 47 } { rep double-2-rep } } }
12 H{ { 45 45 } { 46 45 } { 47 47 } { 100 47 } } leader-map set
13 ! how can the leader of a vreg have a different representation
14 ! than the vreg itself?
21 T{ ##parallel-copy { values V{ { 100 46 } } } }
22 [ cleanup-insn ] V{ } make
26 T{ ##parallel-copy { values V{ } } }
27 [ cleanup-insn ] V{ } make
32 H{ { 123 123 } { 77 77 } }
34 H{ { 123 "bb1" } { 77 "bb2" } } defs set
41 H{ { 36 23 } { 23 23 } } leader-map set
42 H{ { 36 int-rep } { 37 tagged-rep } } representations set
45 { reg-inputs V{ { 56 int-rep RDI } } }
47 { reg-outputs { { 36 int-rep RAX } } }
51 { symbols "g_quark_to_string" }
52 { dll DLL" libglib-2.0.so" }
53 { gc-map T{ gc-map { scrub-d { } } { scrub-r { } } } }
56 T{ ##call-gc { gc-map T{ gc-map { scrub-d { } } { scrub-r { } } } } }
63 } 0 insns>block block>cfg destruct-ssa
68 10 10 must-eliminate-copy
74 T{ ##copy { src 1 } { dst 2 } { rep int-rep } } prepare-insn
78 { V{ { 3 4 } { 7 8 } } } [
80 T{ ##parallel-copy { values V{ { 3 4 } { 7 8 } } } } prepare-insn