2008-07-20 05:24:37 -04:00
|
|
|
! Copyright (C) 2004, 2008 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2008-11-11 09:49:00 -05:00
|
|
|
USING: accessors kernel sequences namespaces hashtables arrays
|
2008-07-20 05:24:37 -04:00
|
|
|
compiler.tree
|
2008-08-07 07:34:28 -04:00
|
|
|
compiler.tree.propagation.copy
|
2008-07-22 05:45:03 -04:00
|
|
|
compiler.tree.propagation.info
|
|
|
|
compiler.tree.propagation.nodes
|
2008-07-20 05:24:37 -04:00
|
|
|
compiler.tree.propagation.simple
|
2008-09-12 09:18:44 -04:00
|
|
|
compiler.tree.propagation.inlining
|
2008-07-20 05:24:37 -04:00
|
|
|
compiler.tree.propagation.branches
|
2008-07-22 05:45:03 -04:00
|
|
|
compiler.tree.propagation.recursive
|
|
|
|
compiler.tree.propagation.constraints
|
|
|
|
compiler.tree.propagation.known-words ;
|
2008-07-20 05:24:37 -04:00
|
|
|
IN: compiler.tree.propagation
|
|
|
|
|
2008-08-07 07:34:28 -04:00
|
|
|
! This pass must run after normalization
|
|
|
|
|
2008-07-30 04:38:10 -04:00
|
|
|
: propagate ( node -- node )
|
2008-08-07 02:08:11 -04:00
|
|
|
H{ } clone copies set
|
2008-11-11 09:49:00 -05:00
|
|
|
H{ } clone 1array value-infos set
|
|
|
|
H{ } clone 1array constraints set
|
2008-12-04 08:05:59 -05:00
|
|
|
H{ } clone inlining-count set
|
2009-03-07 00:34:01 -05:00
|
|
|
dup compute-node-count
|
2008-08-07 02:08:11 -04:00
|
|
|
dup (propagate) ;
|