Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
type Doms = WithBot DPath Source
List of labels, extended with a standard bottom element
DPath [Label] | represents part of the domination relation: each label in a list is dominated by all its successors. This is a newtype only so we can give it a fancy Show instance. |
domPath :: Doms -> [Label] Source
The fact that goes into the entry of a dominator analysis: the first node is dominated only by the entry point, which is represented by the empty list of labels.
domLattice :: DataflowLattice Doms Source
extendDom :: Label -> DPath -> DPath Source
data DominatorNode Source
data DominatorTree Source
This data structure is a *rose tree* in which each node may have arbitrarily many children. Each node dominates all its descendants.
Dominates DominatorNode [DominatorTree] |
tree :: [(Label, Doms)] -> DominatorTree Source
Map from a FactBase for dominator lists into a dominator tree.
immediateDominators :: FactBase Doms -> LabelMap Label Source
Takes FactBase from dominator analysis and returns a map from each label to its immediate dominator, if any
domPass :: (NonLocal n, Monad m) => FwdPass m n Doms Source
Dominator pass
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/hoopl-3.10.0.2/Compiler-Hoopl-Passes-Dominator.html