Handbook
Glossary
region-fragment ( interval block -- fragment )
Vocabulary
compiler
.
cfg
.
register-allocation
.
greedy
Inputs
interval
an
object
block
an
object
Outputs
fragment
an
object
Definition
USING:
accessors
compiler.cfg.linear-scan.assignment
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
IN:
compiler.cfg.register-allocation.greedy
::
region-fragment
( interval block -- fragment )
interval
clone
f
>>reg
block
ranges>>
clone
>>ranges
block
uses>>
clone
>>uses
:>
fragment fragment fragment
live-interval-start
interval
rep-at-insn
>>reload-rep
drop
fragment
live-interval-start
interval
live-interval-start
=
[
]
[
fragment
f
>>reload-from
drop
]
if
block
uses>>
[
n>>
interval
last-use
n>>
=
]
any?
[
]
[
fragment
f
>>spill-to
drop
]
if
fragment
;