GHC.CmmToAsm.AArch64.CodeGen

ghc-9.14.0.20251028: The GHC API

Safe Haskell | None
Language | GHC2021

GHC.CmmToAsm.AArch64.CodeGen

Synopsis

- cmmTopCodeGen :: RawCmmDecl -> NatM [NatCmmDecl RawCmmStatics Instr]
- generateJumpTableForInstr :: NCGConfig -> Instr -> Maybe (NatCmmDecl RawCmmStatics Instr)
- makeFarBranches :: Platform -> LabelMap RawCmmStatics -> [NatBasicBlock Instr] -> UniqDSM [NatBasicBlock Instr]

# Documentation

cmmTopCodeGen :: RawCmmDecl -> NatM [NatCmmDecl RawCmmStatics Instr] Source #

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 #