Handbook
Glossary
<validation-moving-tagged-phi> ( -- graph )
Vocabulary
compiler
.
cfg
.
register-allocation
.
validation
Inputs
None
Outputs
graph
an
object
Definition
USING:
compiler.cfg.comparisons
compiler.cfg.instructions
compiler.cfg.registers
compiler.cfg.utilities
cpu.architecture
kernel
make
;
IN:
compiler.cfg.register-allocation.validation
::
<validation-moving-tagged-phi>
( -- graph )
init-validation-representations
tagged-rep
1
set-rep-of
tagged-rep
2
set-rep-of
tagged-rep
8
set-rep-of
[
##prologue,
0
D:
2
##peek,
1
D:
1
##peek,
2
D:
0
##peek,
3 2
##tagged>integer,
3 0
cc>
##compare-integer-imm-branch,
]
{
}
make
0
insns>block
:>
entry
[
10 16
##load-integer,
##branch,
]
{
}
make
1
insns>block
:>
left
[
11 32
##load-integer,
##branch,
]
{
}
make
2
insns>block
:>
right
[
8
H{
{
right 1
}
{
left 0
}
}
##phi,
9
H{
{
right 11
}
{
left 10
}
}
##phi,
12 8
##tagged>integer,
13 12 9
##add,
14 15
##save-context,
V{
}
clone
H{
}
clone
gc-map
boa
##call-gc,
16 13 9
##sub,
16
D:
0
##replace,
##epilogue,
##return,
]
{
}
make
3
insns>block
:>
join entry left
connect-bbs
entry right
connect-bbs
left join
connect-bbs
right join
connect-bbs
entry
block>cfg
;