]> gitweb.factorcode.org Git - factor.git/blob - unfinished/compiler/cfg/simplifier/simplifier.factor
ogg plays but 1) sound is broken and 2) it doesn't recognize EOF anymore, so it hangs...
[factor.git] / unfinished / compiler / cfg / simplifier / simplifier.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors sequences kernel
4 compiler.cfg
5 compiler.cfg.predecessors
6 compiler.cfg.stack
7 compiler.cfg.alias
8 compiler.cfg.write-barrier
9 compiler.cfg.elaboration
10 compiler.cfg.vn
11 compiler.cfg.vn.conditions
12 compiler.cfg.kill-nops ;
13 IN: compiler.cfg.simplifier
14
15 : simplify ( insns -- insns' )
16     normalize-height
17     alias-analysis
18     elaboration
19     value-numbering
20     eliminate-write-barrier
21     kill-nops ;
22
23 : simplify-cfg ( procedure -- procedure )
24     dup compute-predecessors
25     dup [ [ simplify ] change-instructions drop ] each-block ;