futhark-0.19.7: An optimising compiler for a functional, array-oriented language.
Safe HaskellNone
LanguageHaskell2010

Futhark.IR.Mem.Simplify

Synopsis

Documentation

simplifyProgGeneric :: (SimplifyMemory rep, Op rep ~ MemOp inner) => SimpleOps rep -> Prog rep -> PassM (Prog rep) Source #

simplifyStmsGeneric :: (HasScope rep m, MonadFreshNames m, SimplifyMemory rep, Op rep ~ MemOp inner) => SimpleOps rep -> Stms rep -> m (SymbolTable (Wise rep), Stms rep) Source #

simpleGeneric :: (SimplifyMemory rep, Op rep ~ MemOp inner) => (OpWithWisdom inner -> UsageTable) -> SimplifyOp rep inner -> SimpleOps rep Source #

type SimplifyMemory rep = (SimplifiableRep rep, ExpDec rep ~ (), BodyDec rep ~ (), AllocOp (Op (Wise rep)), CanBeWise (Op rep), BinderOps (Wise rep), Mem rep) Source #

Some constraints that must hold for the simplification rules to work.