]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/dataflow-analysis/dataflow-analysis-tests.factor
inverse: Fix docs
[factor.git] / basis / compiler / cfg / dataflow-analysis / dataflow-analysis-tests.factor
1 USING: accessors assocs compiler.cfg.dataflow-analysis
2 compiler.cfg.dataflow-analysis.private compiler.cfg.rpo compiler.cfg.utilities
3 kernel tools.test ;
4 IN: compiler.cfg.dataflow-analysis.tests
5
6 ! run-dataflow-analysis
7 TUPLE: im-a-dfa test ;
8
9 M: im-a-dfa block-order ( cfg dfa -- bbs )
10     drop post-order ;
11
12 M: im-a-dfa ignore-block? ( cfg bb -- ? )
13     2drop f ;
14
15 M: im-a-dfa predecessors ( bb dfa -- seq )
16     drop predecessors>> ;
17
18 M: im-a-dfa successors ( bb dfa -- seq )
19     drop successors>> ;
20
21 M: im-a-dfa join-sets ( sets bb dfa -- set )
22     2drop ;
23
24 M: im-a-dfa transfer-set ( in-set bb dfa -- out-set )
25     2drop ;
26
27 { { V{ } } { V{ } } } [
28     { } 0 insns>block block>cfg 10 im-a-dfa boa run-dataflow-analysis
29     [ values ] bi@
30 ] unit-test