ghc-9.2.1: The GHC API
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.CmmToAsm.Monad

Synopsis

Documentation

data NcgImpl statics instr jumpDest Source #

Constructors

NcgImpl 

Fields

data NatM_State Source #

Constructors

NatM_State 

Fields

data NatM result Source #

Instances

Instances details
Applicative NatM Source # 
Instance details

Defined in GHC.CmmToAsm.Monad

Methods

pure :: a -> NatM a Source #

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

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

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

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

Functor NatM Source # 
Instance details

Defined in GHC.CmmToAsm.Monad

Methods

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

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

Monad NatM Source # 
Instance details

Defined in GHC.CmmToAsm.Monad

Methods

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

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

return :: a -> NatM a Source #

CmmMakeDynamicReferenceM NatM Source # 
Instance details

Defined in GHC.CmmToAsm.PIC

Methods

addImport :: CLabel -> NatM () Source #

MonadUnique NatM Source # 
Instance details

Defined in GHC.CmmToAsm.Monad

HasModule NatM Source # 
Instance details

Defined in GHC.CmmToAsm.Monad

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

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

getConfig :: NatM NCGConfig Source #

Get native code generator configuration

getPlatform :: NatM Platform Source #

Get target platform from native code generator configuration

getCfgWeights :: NatM Weights Source #

Get CFG edge weights