Safe Haskell | None |
---|---|
Language | Haskell2010 |
Miscellaneous helper functions. Perpetually in need of a cleanup.
Documentation
newDeclarationsStm :: Stm lore -> [VName] Source #
sortByKeyM :: (Ord t, Monad m) => (a -> m t) -> [a] -> m [a] Source #
fixpointIterateMay :: (a -> Maybe a) -> a -> a Source #
expandWithAliases :: forall v. Ord v => MemAliases -> Map v Names -> Map v Names Source #
class FullWalk lore where Source #
fullWalkExpM :: Monad m => Walker lore m -> KernelWalker InKernel m -> Exp lore -> m () Source #
Instances
FullWalk InKernel Source # | |
Defined in Futhark.Optimise.MemoryBlockMerging.Miscellaneous fullWalkExpM :: Monad m => Walker InKernel m -> KernelWalker InKernel m -> Exp InKernel -> m () Source # | |
FullWalk ExplicitMemory Source # | |
Defined in Futhark.Optimise.MemoryBlockMerging.Miscellaneous fullWalkExpM :: Monad m => Walker ExplicitMemory m -> KernelWalker InKernel m -> Exp ExplicitMemory -> m () Source # |
fullWalkAliasesExpM :: (FullWalkAliases lore, Monad m) => Walker (Aliases lore) m -> KernelWalker (Aliases InKernel) m -> Exp (Aliases lore) -> m () Source #
class FullWalkAliases lore Source #
Instances
FullWalkAliases InKernel Source # | |
FullWalkAliases ExplicitMemory Source # | |
Defined in Futhark.Optimise.MemoryBlockMerging.Miscellaneous fullWalkAliasesExpM :: Monad m => Walker (Aliases ExplicitMemory) m -> KernelWalker (Aliases InKernel) m -> Exp (Aliases ExplicitMemory) -> m () Source # |
Instances
FullMap InKernel Source # | |
FullMap ExplicitMemory Source # | |
Defined in Futhark.Optimise.MemoryBlockMerging.Miscellaneous fullMapExpM :: Monad m => Mapper ExplicitMemory ExplicitMemory m -> KernelMapper InKernel InKernel m -> Exp ExplicitMemory -> m (Exp ExplicitMemory) Source # |