Handbook
Glossary
edge-entry-reload? ( interval -- ? )
Vocabulary
compiler
.
cfg
.
register-allocation
.
backtracking
Inputs
interval
an
object
Outputs
?
an
object
Definition
USING:
accessors
assocs
compiler.cfg.instructions
compiler.cfg.linear-scan.live-intervals
compiler.cfg.liveness
kernel
namespaces
sequences
;
IN:
compiler.cfg.register-allocation.backtracking
::
edge-entry-reload?
( interval -- ? )
interval
live-interval-start
:>
start interval
reload-from>>
spill-slot?
start
backtracking-block-starts
get
key?
and
[
start
backtracking-point-blocks
get
at
:>
bb bb
predecessors>>
:>
predecessors bb
kill-block?>>
not
predecessors
empty?
not
and
predecessors
[
kill-block?>>
]
any?
not
and
bb
instructions>>
first
:>
first-insn first-insn
clobber-insn?
first-insn
gc-map-insn?
or
first-insn
##phi?
or
not
and
interval
vreg>>
bb
live-in
key?
and
]
[
f
]
if
;