Handbook
Glossary
#declare
High-level optimizer operating on lexical tree SSA IR
Prev:
node
Next:
#introduce
Vocabulary
compiler
.
tree
Class description
SSA tree node emitted when
declare
declarations are encountered. It has the following slots:
declaration
assoc
that maps values to the types they are declared as.
Definition
IN:
compiler.tree
TUPLE:
#declare
<
node
declaration
;
Methods
USING:
compiler.tree
compiler.tree.checker
kernel
;
M:
#declare
check-stack-flow*
drop
;
USING:
compiler.cfg.builder
compiler.tree
kernel
;
M:
#declare
emit-node
drop
;
USING:
compiler.tree
compiler.tree.escape-analysis.nodes
kernel
;
M:
#declare
escape-analysis*
drop
;
USING:
compiler.tree
compiler.tree.def-use
kernel
;
M:
#declare
node-defs-values
drop
f
;
USING:
compiler.tree
compiler.tree.def-use
kernel
;
M:
#declare
node-uses-values
drop
f
;
USING:
accessors
assocs
compiler.tree
compiler.tree.propagation.info
compiler.tree.propagation.nodes
kernel
stack-checker.dependencies
;
M:
#declare
propagate-before
declaration>>
[
[
add-depends-on-class
]
[
<class-info>
swap
refine-value-info
]
bi
]
assoc-each
;
USING:
accessors
assocs
compiler.tree
compiler.tree.normalization.renaming
kernel
;
M:
#declare
rename-node-values*
[
[
[
rename-value
]
dip
]
assoc-map
]
change-declaration
;
USING:
compiler.tree
compiler.tree.tuple-unboxing
kernel
;
M:
#declare
unbox-tuples*
drop
f
;