Documentation
type CmmGraph = GenCmmGraph CmmNodeSource
data GenCmmGraph n Source
data CmmStackInfo Source
data CmmTopInfo Source
type Cmm = GenCmm CmmStatics CmmTopInfo CmmGraphSource
type CmmReplGraph e x = GenCmmReplGraph CmmNode e xSource
type GenCmmReplGraph n e x = FuelUniqSM (Maybe (Graph n e x))Source
type CmmFwdRewrite f = FwdRewrite FuelUniqSM CmmNode fSource
type CmmBwdRewrite f = BwdRewrite FuelUniqSM CmmNode fSource
modifyGraph :: (Graph n C C -> Graph n' C C) -> GenCmmGraph n -> GenCmmGraph n'Source
insertBetween :: MonadUnique m => CmmBlock -> [CmmNode O O] -> BlockId -> m (CmmBlock, [CmmBlock])Source
ofBlockList :: BlockId -> [CmmBlock] -> CmmGraphSource
toBlockList :: CmmGraph -> [CmmBlock]Source
bodyToBlockList :: Body CmmNode -> [CmmBlock]Source
foldGraphBlocks :: (CmmBlock -> a -> a) -> a -> CmmGraph -> aSource
mapGraphNodes :: (CmmNode C O -> CmmNode C O, CmmNode O O -> CmmNode O O, CmmNode O C -> CmmNode O C) -> CmmGraph -> CmmGraphSource
postorderDfs :: CmmGraph -> [CmmBlock]Source
analFwd :: Monad m => DataflowLattice f -> FwdTransfer n f -> FwdPass m n fSource
analBwd :: Monad m => DataflowLattice f -> BwdTransfer n f -> BwdPass m n fSource
analRewFwd :: Monad m => DataflowLattice f -> FwdTransfer n f -> FwdRewrite m n f -> FwdPass m n fSource
analRewBwd :: Monad m => DataflowLattice f -> BwdTransfer n f -> BwdRewrite m n f -> BwdPass m n fSource
dataflowPassFwd :: NonLocal n => GenCmmGraph n -> [(BlockId, f)] -> FwdPass FuelUniqSM n f -> FuelUniqSM (GenCmmGraph n, BlockEnv f)Source
dataflowPassBwd :: NonLocal n => GenCmmGraph n -> [(BlockId, f)] -> BwdPass FuelUniqSM n f -> FuelUniqSM (GenCmmGraph n, BlockEnv f)Source
module CmmNode