]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/optimizer/optimizer.factor
Merge branch 'master' into s3
[factor.git] / basis / compiler / cfg / optimizer / optimizer.factor
1 ! Copyright (C) 2008, 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: compiler.cfg.tco
4 compiler.cfg.useless-conditionals
5 compiler.cfg.branch-splitting
6 compiler.cfg.block-joining
7 compiler.cfg.height
8 compiler.cfg.ssa.construction
9 compiler.cfg.alias-analysis
10 compiler.cfg.value-numbering
11 compiler.cfg.copy-prop
12 compiler.cfg.dce
13 compiler.cfg.write-barrier
14 compiler.cfg.representations
15 compiler.cfg.gc-checks
16 compiler.cfg.save-contexts
17 compiler.cfg.ssa.destruction
18 compiler.cfg.empty-blocks
19 compiler.cfg.checker ;
20 IN: compiler.cfg.optimizer
21
22 : optimize-cfg ( cfg -- cfg' )
23     optimize-tail-calls
24     delete-useless-conditionals
25     split-branches
26     join-blocks
27     normalize-height
28     construct-ssa
29     alias-analysis
30     value-numbering
31     copy-propagation
32     eliminate-dead-code
33     eliminate-write-barriers ;