Handbook
Glossary
transfer-set ( in-set bb dfa -- out-set )
Vocabulary
compiler
.
cfg
.
dataflow-analysis
Inputs
in-set
input state
bb
a
basic-block
dfa
a
class
Outputs
out-set
output state
Word description
Generic word which is called during the dataflow analysis to process each basic block in the cfg. It is supposed to be implemented by all forward and backward dataflow analysis subclasses to perform analysis.
Definition
IN:
compiler.cfg.dataflow-analysis
GENERIC:
transfer-set
( in-set bb dfa -- out-set )
Methods
USING:
compiler.cfg.dataflow-analysis
compiler.cfg.stacks.global
kernel
;
M:
anticip
transfer-set
drop
transfer-peeked-locs
;
USING:
accessors
compiler.cfg.dataflow-analysis
compiler.cfg.stacks.global
kernel
sets
;
M:
avail
transfer-set
drop
[
peeks>>
]
[
replaces>>
]
bi
union
union
;
USING:
assocs
compiler.cfg.dataflow-analysis
compiler.cfg.value-numbering.global.private
kernel
;
M:
available
transfer-set
drop
defined
assoc-union
;
USING:
accessors
compiler.cfg.dataflow-analysis
compiler.cfg.stacks.global
kernel
sets
;
M:
dead
transfer-set
drop
[
kills>>
]
[
replaces>>
]
bi
union
union
;
USING:
compiler.cfg.dataflow-analysis
compiler.cfg.stacks.global
kernel
;
M:
live
transfer-set
drop
transfer-peeked-locs
;
USING:
accessors
assocs
compiler.cfg.dataflow-analysis
compiler.cfg.memory-optimization.private
sequences
;
M::
memory-available
transfer-set
( incoming bb dfa -- out-set )
incoming
H{
}
assoc-clone-like
:>
facts bb
instructions>>
[
facts
update-memory-facts
]
each
facts
;
USING:
accessors
compiler.cfg.dataflow-analysis
compiler.cfg.stacks.padding
kernel
;
M:
padding
transfer-set
drop
instructions>>
swap
visit-insns
;
USING:
accessors
compiler.cfg.dataflow-analysis
compiler.cfg.stacks.global
kernel
sets
;
M:
pending
transfer-set
drop
replaces>>
union
;