Handbook
Glossary
ssa-edge-mappings ( bb to -- mappings )
Vocabulary
compiler
.
cfg
.
register-allocation
.
ssa
Inputs
bb
an
object
to
an
object
Outputs
mappings
an
object
Definition
USING:
assocs
compiler.cfg.linear-scan.assignment
compiler.cfg.linear-scan.resolve
compiler.cfg.registers
kernel
make
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.ssa
::
ssa-edge-mappings
( bb to -- mappings )
bb
machine-live-out
:>
outgoing to
machine-live-in
:>
incoming
[
incoming
[|
vreg destination |
vreg outgoing
at
destination
2dup
=
[
2drop
]
[
vreg
rep-of
add-mapping
]
if
]
assoc-each
to
phi-locations
get
at
[|
phi |
bb phi
second
at
:>
source source outgoing
at
phi
first
2dup
=
[
2drop
]
[
phi
third
add-mapping
]
if
]
each
]
{
}
make
;