Safe Haskell | None |
---|---|
Language | GHC2021 |
Synopsis
- cmmTopCodeGen :: RawCmmDecl -> NatM [NatCmmDecl RawCmmStatics Instr]
- generateJumpTableForInstr :: NCGConfig -> Instr -> Maybe (NatCmmDecl RawCmmStatics Instr)
- makeFarBranches :: Platform -> LabelMap RawCmmStatics -> [NatBasicBlock Instr] -> UniqDSM [NatBasicBlock Instr]
Documentation
generateJumpTableForInstr :: NCGConfig -> Instr -> Maybe (NatCmmDecl RawCmmStatics Instr) Source #
Generate jump table data (if required)
The idea is to emit one table entry per case. The entry is the relative address of the block to jump to (relative to the table's first entry / table's own label.) The calculation itself is done by the linker.
makeFarBranches :: Platform -> LabelMap RawCmmStatics -> [NatBasicBlock Instr] -> UniqDSM [NatBasicBlock Instr] Source #