1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel sequences compiler.cfg.rpo
4 compiler.cfg.instructions
5 compiler.cfg.predecessors
6 compiler.cfg.useless-blocks
8 compiler.cfg.alias-analysis
9 compiler.cfg.value-numbering
10 compiler.cfg.dead-code
11 compiler.cfg.write-barrier ;
12 IN: compiler.cfg.optimizer
14 : trivial? ( insns -- ? )
15 dup length 2 = [ first ##call? ] [ drop f ] if ;
17 : optimize-cfg ( cfg -- cfg' )
20 delete-useless-conditionals
27 eliminate-write-barriers
29 ] change-basic-blocks ;