Safe Haskell | None |
---|---|
Language | GHC2021 |
Futhark.IR.Mem.Simplify
Synopsis
- simplifyProgGeneric :: forall rep (inner :: Type -> Type). SimplifyMemory rep inner => RuleBook (Wise rep) -> SimpleOps rep -> Prog rep -> PassM (Prog rep)
- simplifyStmsGeneric :: forall rep m (inner :: Type -> Type). (HasScope rep m, MonadFreshNames m, SimplifyMemory rep inner) => RuleBook (Wise rep) -> SimpleOps rep -> Stms rep -> m (Stms rep)
- simpleGeneric :: SimplifyMemory rep inner => (inner (Wise rep) -> UsageTable) -> SimplifyOp rep (inner (Wise rep)) -> SimpleOps rep
- type SimplifyMemory rep (inner :: Type -> Type) = (SimplifiableRep rep, LetDec rep ~ LetDecMem, ExpDec rep ~ (), BodyDec rep ~ (), CanBeWise (OpC rep), BuilderOps (Wise rep), OpReturns inner, IndexOp (inner (Wise rep)), AliasedOp inner, Mem rep inner, CanBeWise inner, RephraseOp inner, ASTConstraints (inner (Wise rep)))
- memRuleBook :: forall rep (inner :: Type -> Type). SimplifyMemory rep inner => RuleBook (Wise rep)
Documentation
simplifyProgGeneric :: forall rep (inner :: Type -> Type). SimplifyMemory rep inner => RuleBook (Wise rep) -> SimpleOps rep -> Prog rep -> PassM (Prog rep) Source #
simplifyStmsGeneric :: forall rep m (inner :: Type -> Type). (HasScope rep m, MonadFreshNames m, SimplifyMemory rep inner) => RuleBook (Wise rep) -> SimpleOps rep -> Stms rep -> m (Stms rep) Source #
simpleGeneric :: SimplifyMemory rep inner => (inner (Wise rep) -> UsageTable) -> SimplifyOp rep (inner (Wise rep)) -> SimpleOps rep Source #
type SimplifyMemory rep (inner :: Type -> Type) = (SimplifiableRep rep, LetDec rep ~ LetDecMem, ExpDec rep ~ (), BodyDec rep ~ (), CanBeWise (OpC rep), BuilderOps (Wise rep), OpReturns inner, IndexOp (inner (Wise rep)), AliasedOp inner, Mem rep inner, CanBeWise inner, RephraseOp inner, ASTConstraints (inner (Wise rep))) Source #
Some constraints that must hold for the simplification rules to work.
memRuleBook :: forall rep (inner :: Type -> Type). SimplifyMemory rep inner => RuleBook (Wise rep) Source #
Standard collection of simplification rules for representations with memory.