Handbook
Glossary
propagate-around ( node -- )
Vocabulary
compiler
.
tree
.
propagation
.
nodes
Inputs
node
a
node
Outputs
None
Word description
Performs value propagation for an SSA node.
Definition
IN:
compiler.tree.propagation.nodes
GENERIC:
propagate-around
( node -- )
Methods
USING:
accessors
compiler.tree
compiler.tree.propagation.nodes
;
M:
#alien-callback
propagate-around
child>>
(propagate)
;
USING:
accessors
compiler.tree
compiler.tree.propagation.branches
compiler.tree.propagation.nodes
kernel
;
M:
#branch
propagate-around
dup
live-branches
>>live-branches
[
infer-children
]
[
annotate-node
]
bi
;
USING:
compiler.tree
compiler.tree.propagation.branches
compiler.tree.propagation.nodes
generic
namespaces
;
M:
#dispatch
propagate-around
condition-value
off
M\
#dispatch
propagate-around
(call-next-method)
;
USING:
accessors
compiler.tree
compiler.tree.propagation.branches
compiler.tree.propagation.nodes
generic
kernel
namespaces
sequences
;
M:
#if
propagate-around
[
in-d>>
first
condition-value
set
]
[
M\
#if
propagate-around
(call-next-method)
]
bi
;
USING:
accessors
compiler.tree
compiler.tree.combinators
compiler.tree.propagation.constraints
compiler.tree.propagation.copy
compiler.tree.propagation.nodes
compiler.tree.propagation.recursive
kernel
namespaces
sequences
;
M:
#recursive
propagate-around
constraints
[
H{
}
clone
suffix
]
change
[
constraints
[
but-last
H{
}
clone
suffix
]
change
child>>
[
first
compute-copy-equiv
]
[
first
propagate-recursive-phi
]
[
(propagate)
]
tri
]
until-fixed-point
;
USING:
compiler.tree
compiler.tree.propagation.nodes
kernel
;
M:
node
propagate-around
[
propagate-before
]
[
annotate-node
]
[
propagate-after
]
tri
;