ghc-lib-0.20190204: The GHC API, decoupled from GHC versions

Safe HaskellNone
LanguageHaskell2010

NCGMonad

Synopsis

Documentation

data NcgImpl statics instr jumpDest Source #

Constructors

Fields

data NatM_State Source #

Constructors

Fields

mkNatM_State :: UniqSupply -> Int -> DynFlags -> Module -> ModLocation -> DwarfFiles -> LabelMap DebugBlock -> CFG -> NatM_State Source #

data NatM result Source #

Instances
Instance details

Defined in NCGMonad

Methods

(>>=) :: NatM a -> (a -> NatM b) -> NatM b #

(>>) :: NatM a -> NatM b -> NatM b #

return :: a -> NatM a #

fail :: String -> NatM a #

Instance details

Defined in NCGMonad

Methods

fmap :: (a -> b) -> NatM a -> NatM b #

(<$) :: a -> NatM b -> NatM a #

Instance details

Defined in NCGMonad

Methods

pure :: a -> NatM a #

(<*>) :: NatM (a -> b) -> NatM a -> NatM b #

liftA2 :: (a -> b -> c) -> NatM a -> NatM b -> NatM c #

(*>) :: NatM a -> NatM b -> NatM b #

(<*) :: NatM a -> NatM b -> NatM a #

Instance details

Defined in NCGMonad

Instance details

Defined in PIC

initNat :: NatM_State -> NatM a -> (a, NatM_State) Source #

addImportNat :: CLabel -> NatM () Source #

addNodeBetweenNat :: BlockId -> BlockId -> BlockId -> NatM () Source #

Record that we added a block between from and old.

addImmediateSuccessorNat :: BlockId -> BlockId -> NatM () Source #

Place succ after block and change any edges block -> X to succ -> X

updateCfgNat :: (CFG -> CFG) -> NatM () Source #

getUniqueNat :: NatM Unique Source #

mapAccumLNat :: (acc -> x -> NatM (acc, y)) -> acc -> [x] -> NatM (acc, [y]) Source #

setDeltaNat :: Int -> NatM () Source #

getDeltaNat :: NatM Int Source #

getThisModuleNat :: NatM Module Source #

getBlockIdNat :: NatM BlockId Source #

getNewLabelNat :: NatM CLabel Source #

getNewRegNat :: Format -> NatM Reg Source #

getNewRegPairNat :: Format -> NatM (Reg, Reg) Source #

getPicBaseMaybeNat :: NatM (Maybe Reg) Source #

getPicBaseNat :: Format -> NatM Reg Source #

getDynFlags :: HasDynFlags m => m DynFlags Source #

getModLoc :: NatM ModLocation Source #

getFileId :: FastString -> NatM Int Source #

getDebugBlock :: Label -> NatM (Maybe DebugBlock) Source #

type DwarfFiles = UniqFM (FastString, Int) Source #

AltStyle によって変換されたページ (->オリジナル) /