ghc-7.0.4: The GHC API

CmmBuildInfoTables

# Documentation

type CAFSet = Map CLabel ()Source

type CAFEnv = BlockEnv CAFSet Source

data CmmTopForInfoTables Source

Constructors

NoInfoTable CmmTopZ |
ProcInfoTable CmmTopZ BlockSet |
FloatingInfoTable CmmInfo BlockId UpdFrameOffset |

Instances

Outputable CmmTopForInfoTables |

cafAnal :: LGraph Middle Last -> FuelMonad CAFEnv Source

localCAFInfo :: CAFEnv -> CmmTopZ -> Maybe (CLabel, CAFSet)Source

mkTopCAFInfo :: [(CLabel, CAFSet)] -> Map CLabel CAFSet Source

setInfoTableSRT :: Map CLabel CAFSet -> TopSRT -> (CAFSet, CmmTopForInfoTables) -> FuelMonad (TopSRT, [CmmTopForInfoTables])Source

setInfoTableStackMap :: SlotEnv -> AreaMap -> CmmTopForInfoTables -> CmmTopForInfoTables Source

data TopSRT Source

Instances

Outputable TopSRT |

emptySRT :: MonadUnique m => m TopSRT Source

srtToData :: TopSRT -> CmmZ Source

bundleCAFs :: CAFEnv -> CmmTopForInfoTables -> (CAFSet, CmmTopForInfoTables)Source

finishInfoTables :: CmmTopForInfoTables -> IO [CmmTopZ]Source

lowerSafeForeignCalls :: [[CmmTopForInfoTables]] -> CmmTopZ -> FuelMonad [[CmmTopForInfoTables]]Source

cafTransfers :: BackwardTransfers Middle Last CAFSet Source

liveSlotTransfers :: BackwardTransfers Middle Last SubAreaSet Source

extendEnvWithSafeForeignCalls :: BackwardTransfers Middle Last a -> BlockEnv a -> CmmGraph -> BlockEnv aSource

extendEnvsForSafeForeignCalls :: CAFEnv -> SlotEnv -> CmmGraph -> (CAFEnv, SlotEnv)Source