Handbook
Glossary
reject-unsafe-constants ( insn definitions -- )
Vocabulary
compiler
.
cfg
.
register-allocation
.
rematerialization
Inputs
insn
an
object
definitions
an
object
Outputs
None
Definition
USING:
accessors
assocs
compiler.cfg.def-use
compiler.cfg.instructions
compiler.cfg.linear-scan.live-intervals
compiler.cfg.registers
compiler.cfg.ssa.destruction.leaders
cpu.architecture
kernel
sequences
;
IN:
compiler.cfg.register-allocation.rematerialization
::
reject-unsafe-constants
( insn definitions -- )
insn
clobber-insn?
[
insn
uses-vregs
definitions
reject-rematerialization
]
when
insn
##phi?
[
insn
uses-vregs
definitions
reject-rematerialization
]
when
insn
uses-vregs
[|
vreg |
vreg
rep-of
int-rep
eq?
[
]
[
f
vreg
leader
definitions
set-at
]
if
]
each
insn
gc-map-insn?
[
insn
gc-map>>
:>
map map
gc-roots>>
definitions
reject-rematerialization
map
derived-roots>>
[
keys
]
[
values
]
bi
append
definitions
reject-rematerialization
]
when
;