Handbook
Glossary
clone-basic-block ( bb -- bb' )
Vocabulary
compiler
.
cfg
.
branch-splitting
Inputs
bb
a
basic-block
Outputs
bb'
a
basic-block
Word description
The new block temporarily gets the same RPO number as the old one, until the next time RPO is computed. This is just to make
back-edge?
work.
Definition
USING:
accessors
combinators
compiler.cfg
kernel
;
IN:
compiler.cfg.branch-splitting
:
clone-basic-block
( bb -- bb' )
<basic-block>
swap
{
[
instructions>>
clone-instructions
>>instructions
]
[
successors>>
clone
>>successors
]
[
kill-block?>>
>>kill-block?
]
[
number>>
>>number
]
}
cleave
;