| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
AsmCodeGen
- nativeCodeGen :: DynFlags -> Module -> ModLocation -> Handle -> UniqSupply -> Stream IO RawCmmGroup () -> IO UniqSupply
 - cmmNativeGen :: (Outputable statics, Outputable instr, Instruction instr) => DynFlags -> Module -> ModLocation -> NcgImpl statics instr jumpDest -> UniqSupply -> DwarfFiles -> LabelMap DebugBlock -> RawCmmDecl -> Int -> IO (UniqSupply, DwarfFiles, [NatCmmDecl statics instr], [CLabel], Maybe [RegAllocStats statics instr], Maybe [RegAllocStats], LabelMap [UnwindPoint])
 - data NcgImpl statics instr jumpDest = NcgImpl {
- cmmTopCodeGen :: RawCmmDecl -> NatM [NatCmmDecl statics instr]
 - generateJumpTableForInstr :: instr -> Maybe (NatCmmDecl statics instr)
 - getJumpDestBlockId :: jumpDest -> Maybe BlockId
 - canShortcut :: instr -> Maybe jumpDest
 - shortcutStatics :: (BlockId -> Maybe jumpDest) -> statics -> statics
 - shortcutJump :: (BlockId -> Maybe jumpDest) -> instr -> instr
 - pprNatCmmDecl :: NatCmmDecl statics instr -> SDoc
 - maxSpillSlots :: Int
 - allocatableRegs :: [RealReg]
 - ncg_x86fp_kludge :: [NatCmmDecl statics instr] -> [NatCmmDecl statics instr]
 - ncgExpandTop :: [NatCmmDecl statics instr] -> [NatCmmDecl statics instr]
 - ncgAllocMoreStack :: Int -> NatCmmDecl statics instr -> UniqSM (NatCmmDecl statics instr)
 - ncgMakeFarBranches :: LabelMap CmmStatics -> [NatBasicBlock instr] -> [NatBasicBlock instr]
 - extractUnwindPoints :: [instr] -> [UnwindPoint]
 
 - x86NcgImpl :: DynFlags -> NcgImpl (Alignment, CmmStatics) Instr JumpDest
 
Module entry point
nativeCodeGen :: DynFlags -> Module -> ModLocation -> Handle -> UniqSupply -> Stream IO RawCmmGroup () -> IO UniqSupply Source #
Test-only exports: see trac #12744
Arguments
| :: (Outputable statics, Outputable instr, Instruction instr) | |
| => DynFlags | |
| -> Module | |
| -> ModLocation | |
| -> NcgImpl statics instr jumpDest | |
| -> UniqSupply | |
| -> DwarfFiles | |
| -> LabelMap DebugBlock | |
| -> RawCmmDecl | the cmm to generate code for  | 
| -> Int | sequence number of this top thing  | 
| -> IO (UniqSupply, DwarfFiles, [NatCmmDecl statics instr], [CLabel], Maybe [RegAllocStats statics instr], Maybe [RegAllocStats], LabelMap [UnwindPoint]) | 
Complete native code generation phase for a single top-level chunk of Cmm. Dumping the output of each stage along the way. Global conflict graph and NGC stats
data NcgImpl statics instr jumpDest Source #
Constructors
| NcgImpl | |
Fields 
  | |
x86NcgImpl :: DynFlags -> NcgImpl (Alignment, CmmStatics) Instr JumpDest Source #