check-validation-allocated-bank ( graph registers snapshot -- )


Vocabulary
compiler.cfg.register-allocation.validation

Inputs
graphan object
registersan object
snapshotan object


Outputs
None

Definition


:: check-validation-allocated-bank
( graph registers snapshot -- )
graph cfg>insns [| insn |
insn snapshot instructions>> at
[ insn swap registers check-validation-insn-bank ] [
insn {
{
[ dup ##copy? ]
[
~quotation~ ~quotation~ ~quotation~ tri
:> ( source destination rep ) source rep
registers check-validation-location
destination rep registers
check-validation-location
]
}
{
[ dup ##spill? ]
[
~quotation~ ~quotation~ bi
registers check-validation-location
]
}
{
[ dup ##reload? ]
[
~quotation~ ~quotation~ bi
registers check-validation-location
]
}
{
[ dup ##load-reference? ]
[
dst>> tagged-rep registers
check-validation-location
]
}
[ drop ]
} cond
] if*
] each ;