2008-07-27 21:25:42 -04:00
|
|
|
! Copyright (C) 2008 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2008-09-08 20:02:24 -04:00
|
|
|
USING: kernel namespaces
|
2008-09-12 06:17:27 -04:00
|
|
|
compiler.tree.recursive
|
2008-09-08 20:02:24 -04:00
|
|
|
compiler.tree.normalization
|
2008-08-07 07:34:28 -04:00
|
|
|
compiler.tree.propagation
|
|
|
|
compiler.tree.cleanup
|
|
|
|
compiler.tree.escape-analysis
|
|
|
|
compiler.tree.tuple-unboxing
|
|
|
|
compiler.tree.def-use
|
|
|
|
compiler.tree.dead-code
|
|
|
|
compiler.tree.strength-reduction
|
2008-08-31 06:40:29 -04:00
|
|
|
compiler.tree.finalization
|
2008-08-15 00:35:19 -04:00
|
|
|
compiler.tree.checker ;
|
2008-07-27 21:25:42 -04:00
|
|
|
IN: compiler.tree.optimizer
|
|
|
|
|
2008-09-08 20:02:24 -04:00
|
|
|
SYMBOL: check-optimizer?
|
|
|
|
|
2008-07-27 21:25:42 -04:00
|
|
|
: optimize-tree ( nodes -- nodes' )
|
2008-09-12 06:17:27 -04:00
|
|
|
analyze-recursive
|
2008-07-27 21:25:42 -04:00
|
|
|
normalize
|
|
|
|
propagate
|
|
|
|
cleanup
|
2008-08-18 16:47:49 -04:00
|
|
|
escape-analysis
|
|
|
|
unbox-tuples
|
|
|
|
compute-def-use
|
|
|
|
remove-dead-code
|
2008-08-15 00:35:19 -04:00
|
|
|
! strength-reduce
|
2008-09-08 20:02:24 -04:00
|
|
|
check-optimizer? get [
|
|
|
|
compute-def-use
|
|
|
|
dup check-nodes
|
|
|
|
] when
|
|
|
|
finalize ;
|