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 |