- data FwdPass n f = FwdPass {
- fp_lattice :: DataflowLattice f
- fp_transfer :: FwdTransfer n f
- fp_rewrite :: FwdRewrite n f
- type FwdTransfer n f = forall e x. n e x -> Fact e f -> Fact x f
- type FwdRewrite n f = forall e x. n e x -> Fact e f -> Maybe (FwdRes n f e x)
- data FwdRes n f e x = FwdRes (AGraph n e x) (FwdRewrite n f)
- data BwdPass n f = BwdPass {
- bp_lattice :: DataflowLattice f
- bp_transfer :: BwdTransfer n f
- bp_rewrite :: BwdRewrite n f
- type BwdTransfer n f = forall e x. n e x -> Fact x f -> Fact e f
- type BwdRewrite n f = forall e x. n e x -> Fact x f -> Maybe (BwdRes n f e x)
- data BwdRes n f e x = BwdRes (AGraph n e x) (BwdRewrite n f)
- analyzeAndRewriteFwd :: forall n f. Edges n => FwdPass n f -> ZBody n -> FactBase f -> FuelMonad (ZBody n, FactBase f)
- analyzeAndRewriteBwd :: forall n f. Edges n => BwdPass n f -> ZBody n -> FactBase f -> FuelMonad (ZBody n, FactBase f)
- analyzeAndRewriteFwd' :: forall n f e x. Edges n => FwdPass n f -> ZGraph n e x -> Fact e f -> FuelMonad (ZGraph n e x, FactBase f, MaybeO x f)
- analyzeAndRewriteBwd' :: forall n f e x. Edges n => BwdPass n f -> ZGraph n e x -> Fact x f -> FuelMonad (ZGraph n e x, FactBase f, MaybeO e f)
Documentation
FwdPass | |
|
type FwdTransfer n f = forall e x. n e x -> Fact e f -> Fact x fSource
type FwdRewrite n f = forall e x. n e x -> Fact e f -> Maybe (FwdRes n f e x)Source
FwdRes (AGraph n e x) (FwdRewrite n f) |
BwdPass | |
|
type BwdTransfer n f = forall e x. n e x -> Fact x f -> Fact e fSource
type BwdRewrite n f = forall e x. n e x -> Fact x f -> Maybe (BwdRes n f e x)Source
BwdRes (AGraph n e x) (BwdRewrite n f) |
analyzeAndRewriteFwd :: forall n f. Edges n => FwdPass n f -> ZBody n -> FactBase f -> FuelMonad (ZBody n, FactBase f)Source
analyzeAndRewriteBwd :: forall n f. Edges n => BwdPass n f -> ZBody n -> FactBase f -> FuelMonad (ZBody n, FactBase f)Source