Handles joining of a jump instruction to its targets.
- joinToTargets :: (FR freeRegs, Instruction instr) => Platform -> BlockMap RegSet -> BlockId -> instr -> RegM freeRegs ([NatBasicBlock instr], instr)
Documentation
:: (FR freeRegs, Instruction instr) | |
=> Platform | |
-> BlockMap RegSet | maps the unique of the blockid to the set of vregs that are known to be live on the entry to each block. |
-> BlockId | id of the current block |
-> instr | branch instr on the end of the source block. |
-> RegM freeRegs ([NatBasicBlock instr], instr) |
For a jump instruction at the end of a block, generate fixup code so its vregs are in the correct regs for its destination.