Moduleghc-9.10.3GHC2021
GHC.Cmm.Dataflow
- 10 types
- 11 values
- Packageghc-9.10.3
- Exports23
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceBlock.hs
data Block (n :: Extensibility -> Extensibility -> Type) (e :: Extensibility) (x :: Extensibility) whereA sequence of nodes. May be any of four shapes (OO, OC, CO, CC). Open at the entry means single entry, mutatis mutandis for exit. A closedclosed block is a basic/ block and can't be extended further. Clients should avoid manipulating blocks and should stick to either nodes or graphs.
Instances6OutputableP, NonLocal
OutputableP Platform (Block CmmNode C C)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Block CmmNode C O)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Block CmmNode O C)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Block CmmNode O O)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Graph CmmNode e x)Defined in ghc-9.10.3 · GHC.Cmm.NodeNonLocal n => NonLocal (Block n)Defined in ghc-9.10.3 · GHC.Cmm.Dataflow.Graph
Folds backward over all nodes of an open-open block. Strict in the accumulator.
Folds backward over all the nodes of an open-open block and allows
rewriting them. The accumulator is both the block of nodes and f (usually
dataflow facts).
Strict in both accumulated parts.
Constructors
Constructors
OldFact a
Constructors
NewFact a
The result of joining OldFact and NewFact.
Constructors
Changed !aResult is different than OldFact.
NotChanged !aResult is the same as OldFact.
Function for rewriting and analysis combined. To be used with
rewriteCmm.
Currently set to work with UniqSM monad, but we could probably abstract
that away (if we do that, we might want to specialize the fixpoint algorithms
to the particular monads through SPECIALIZE).
Returns the joined facts for each label.
Returns the result of joining the facts from all the successors of the provided node or block.