Compiler.Hoopl.Dataflow
Documentation
data DataflowLattice a Source
Constructors
DataflowLattice | |
Fields
|
data ChangeFlag Source
Constructors
NoChange | |
SomeChange |
changeIf :: Bool -> ChangeFlagSource
data ForwardPass n f Source
Constructors
FwdPass | |
Fields
|
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
type SimpleFwdRewrite n f = forall e x. n e x -> Fact e f -> Maybe (AGraph n e x)Source
noFwdRewrite :: FwdRewrite n fSource
thenFwdRw :: FwdRewrite n f -> FwdRewrite n f -> FwdRewrite n fSource
shallowFwdRw :: SimpleFwdRewrite n f -> FwdRewrite n fSource
deepFwdRw :: FwdRewrite n f -> FwdRewrite n fSource
data BackwardPass n f Source
Constructors
BwdPass | |
Fields
|
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
type SimpleBwdRewrite n f = forall e x. n e x -> Fact x f -> Maybe (AGraph n e x)Source
noBwdRewrite :: BwdRewrite n fSource
thenBwdRw :: BwdRewrite n f -> BwdRewrite n f -> BwdRewrite n fSource
shallowBwdRw :: SimpleBwdRewrite n f -> BwdRewrite n fSource
deepBwdRw :: BwdRewrite n f -> BwdRewrite n fSource
analyzeAndRewriteFwd :: forall n f. Edges n => ForwardPass n f -> Body n -> FactBase f -> FuelMonad (Body n, FactBase f)Source
analyzeAndRewriteBwd :: forall n f. Edges n => BackwardPass n f -> Body n -> FactBase f -> FuelMonad (Body n, FactBase f)Source