hoopl-3.7.2.2: A library to support dataflow analysis and optimization

Compiler.Hoopl.Dataflow

Documentation

data DataflowLattice a Source

Constructors

DataflowLattice 

Fields

fact_name :: String
 
fact_bot :: a
 
fact_extend :: a -> a -> (ChangeFlag, a)
 
fact_do_logging :: Bool
 

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

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

type family Fact x f :: *Source

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