27 lines
		
	
	
		
			742 B
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			27 lines
		
	
	
		
			742 B
		
	
	
	
		
			Factor
		
	
	
		
			Executable File
		
	
| ! Copyright (C) 2006, 2008 Slava Pestov.
 | |
| ! See http://factorcode.org/license.txt for BSD license.
 | |
| USING: kernel namespaces optimizer.backend optimizer.def-use
 | |
| optimizer.known-words optimizer.math optimizer.control
 | |
| optimizer.collect optimizer.inlining inference.class ;
 | |
| IN: optimizer
 | |
| 
 | |
| : optimize-1 ( node -- newnode ? )
 | |
|     [
 | |
|         H{ } clone class-substitutions set
 | |
|         H{ } clone literal-substitutions set
 | |
|         H{ } clone value-substitutions set
 | |
| 
 | |
|         collect-label-infos
 | |
|         compute-def-use
 | |
|         kill-values
 | |
|         detect-loops
 | |
|         infer-classes
 | |
| 
 | |
|         optimizer-changed off
 | |
|         optimize-nodes
 | |
|         optimizer-changed get
 | |
|     ] with-scope ;
 | |
| 
 | |
| : optimize ( node -- newnode )
 | |
|     optimize-1 [ optimize ] when ;
 |