]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/def-use/def-use-tests.factor
de5bf335b6b1dfcc706491371ff1e76acafcf32d
[factor.git] / basis / compiler / cfg / def-use / def-use-tests.factor
1 ! Copyright (C) 2009 Daniel Ehrenberg.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel tools.test accessors vectors sequences namespaces
4 arrays compiler.cfg.def-use compiler.cfg compiler.cfg.debugger
5 compiler.cfg.instructions compiler.cfg.registers compiler.cfg.utilities
6 cpu.architecture ;
7 IN: compiler.cfg.def-use.tests
8
9 ! compute-insns
10 {
11     T{ ##peek f 123 D 0 f }
12 } [
13     { T{ ##peek f 123 D 0 } } 0 insns>block block>cfg compute-insns
14     123 insn-of
15 ] unit-test
16
17 V{
18     T{ ##peek f 0 D 0 }
19     T{ ##peek f 1 D 0 }
20     T{ ##peek f 2 D 0 }
21 } 1 test-bb
22 V{
23     T{ ##replace f 2 D 0 }
24 } 2 test-bb
25 1 2 edge
26 V{
27     T{ ##replace f 0 D 0 }
28 } 3 test-bb
29 2 3 edge
30 V{ } 4 test-bb
31 V{ } 5 test-bb
32 3 { 4 5 } edges
33 V{
34     T{ ##phi f 2 H{ { 2 0 } { 3 1 } } }
35 } 6 test-bb
36 4 6 edge
37 5 6 edge
38
39 1 get block>cfg 0 set
40 [ ] [ 0 get compute-defs ] unit-test