31 lines
753 B
Factor
31 lines
753 B
Factor
USING: accessors assocs compiler.cfg.dataflow-analysis
|
|
compiler.cfg.dataflow-analysis.private compiler.cfg.rpo compiler.cfg.utilities
|
|
kernel tools.test ;
|
|
IN: compiler.cfg.dataflow-analysis.tests
|
|
|
|
! run-dataflow-analysis
|
|
TUPLE: im-a-dfa test ;
|
|
|
|
M: im-a-dfa block-order ( cfg dfa -- bbs )
|
|
drop post-order ;
|
|
|
|
M: im-a-dfa ignore-block? ( cfg bb -- ? )
|
|
2drop f ;
|
|
|
|
M: im-a-dfa predecessors ( bb dfa -- seq )
|
|
drop predecessors>> ;
|
|
|
|
M: im-a-dfa successors ( bb dfa -- seq )
|
|
drop successors>> ;
|
|
|
|
M: im-a-dfa join-sets ( sets bb dfa -- set )
|
|
2drop ;
|
|
|
|
M: im-a-dfa transfer-set ( in-set bb dfa -- out-set )
|
|
2drop ;
|
|
|
|
{ { V{ } } { V{ } } } [
|
|
{ } 0 insns>block block>cfg 10 im-a-dfa boa run-dataflow-analysis
|
|
[ values ] bi@
|
|
] unit-test
|