Handbook
Glossary
compute-live-intervals* ( insn -- )
Live interval utilities
Prev:
vreg-use
Next:
record-def ( vreg n spill-slot? -- )
Vocabulary
compiler
.
cfg
.
linear-scan
.
live-intervals
Inputs
insn
an
object
Outputs
None
Definition
IN:
compiler.cfg.linear-scan.live-intervals
GENERIC:
compute-live-intervals*
( insn -- )
Methods
USING:
accessors
compiler.cfg.def-use
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
M:
clobber-insn
compute-live-intervals*
dup
insn#>>
[
[
defs-vregs
]
dip
[
f
record-def
]
curry
each
]
[
[
uses-vregs*
]
dip
[
t
record-use
]
curry
each
]
[
[
temp-vregs
]
dip
[
record-temp
]
curry
each
]
2tri
;
USING:
accessors
compiler.cfg.def-use
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
M:
hairy-clobber-insn
compute-live-intervals*
dup
insn#>>
[
[
defs-vregs
]
dip
[
t
record-def
]
curry
each
]
[
[
uses-vregs*
]
dip
[
t
record-use
]
curry
each
]
[
[
temp-vregs
]
dip
[
record-temp
]
curry
each
]
2tri
;
USING:
compiler.cfg.instructions
compiler.cfg.linear-scan.live-intervals
kernel
;
M:
insn
compute-live-intervals*
drop
;
USING:
accessors
compiler.cfg.def-use
compiler.cfg.instructions
compiler.cfg.linear-scan.live-intervals
kernel
sequences
;
M:
vreg-insn
compute-live-intervals*
dup
insn#>>
[
[
defs-vregs
]
dip
[
f
record-def
]
curry
each
]
[
[
uses-vregs*
]
dip
[
f
record-use
]
curry
each
]
[
[
temp-vregs
]
dip
[
record-temp
]
curry
each
]
2tri
;