Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 3942

ghc-7.4.2-4.mga5.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Compiler.Hoopl.Passes.Dominator</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Compiler-Hoopl-Passes-Dominator.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hoopl-3.8.7.3: A library to support dataflow analysis and optimization</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr></table><p class="caption">Compiler.Hoopl.Passes.Dominator</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:Doms">Doms</a> = <a href="Compiler-Hoopl.html#t:WithBot">WithBot</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:DPath">DPath</a></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:DPath">DPath</a>  = <a href="#v:DPath">DPath</a> [<a href="Compiler-Hoopl.html#t:Label">Label</a>]</li><li class="src short"><a href="#v:domPath">domPath</a> :: <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a> -&gt; [<a href="Compiler-Hoopl.html#t:Label">Label</a>]</li><li class="src short"><a href="#v:domEntry">domEntry</a> :: <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a></li><li class="src short"><a href="#v:domLattice">domLattice</a> :: <a href="Compiler-Hoopl.html#t:DataflowLattice">DataflowLattice</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a></li><li class="src short"><a href="#v:extendDom">extendDom</a> :: <a href="Compiler-Hoopl.html#t:Label">Label</a> -&gt; <a href="Compiler-Hoopl-Passes-Dominator.html#t:DPath">DPath</a> -&gt; <a href="Compiler-Hoopl-Passes-Dominator.html#t:DPath">DPath</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:DominatorNode">DominatorNode</a> <ul class="subs"><li>= <a href="#v:Entry">Entry</a>  </li><li>| <a href="#v:Labelled">Labelled</a> <a href="Compiler-Hoopl.html#t:Label">Label</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:DominatorTree">DominatorTree</a>  = <a href="#v:Dominates">Dominates</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:DominatorNode">DominatorNode</a> [<a href="Compiler-Hoopl-Passes-Dominator.html#t:DominatorTree">DominatorTree</a>]</li><li class="src short"><a href="#v:tree">tree</a> :: [(<a href="Compiler-Hoopl.html#t:Label">Label</a>, <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a>)] -&gt; <a href="Compiler-Hoopl-Passes-Dominator.html#t:DominatorTree">DominatorTree</a></li><li class="src short"><a href="#v:immediateDominators">immediateDominators</a> :: <a href="Compiler-Hoopl.html#t:FactBase">FactBase</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a> -&gt; <a href="Compiler-Hoopl.html#t:LabelMap">LabelMap</a> <a href="Compiler-Hoopl.html#t:Label">Label</a></li><li class="src short"><a href="#v:domPass">domPass</a> :: (<a href="Compiler-Hoopl.html#t:NonLocal">NonLocal</a> n, <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Compiler-Hoopl.html#t:FwdPass">FwdPass</a> m n <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Doms" class="def">Doms</a> = <a href="Compiler-Hoopl.html#t:WithBot">WithBot</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:DPath">DPath</a></p><div class="doc"><p>List of labels, extended with a standard bottom element
</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:DPath" class="def">DPath</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:DPath" class="def">DPath</a> [<a href="Compiler-Hoopl.html#t:Label">Label</a>]</td><td class="doc"><p>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.
</p></td></tr></table></div><div class="subs instances"><p id="control.i:DPath" class="caption collapser" onclick="toggleSection('i:DPath')">Instances</p><div id="section.i:DPath" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:DPath">DPath</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:domPath" class="def">domPath</a> :: <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a> -&gt; [<a href="Compiler-Hoopl.html#t:Label">Label</a>]</p></div><div class="top"><p class="src"><a name="v:domEntry" class="def">domEntry</a> :: <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a></p><div class="doc"><p>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.
</p></div></div><div class="top"><p class="src"><a name="v:domLattice" class="def">domLattice</a> :: <a href="Compiler-Hoopl.html#t:DataflowLattice">DataflowLattice</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a></p></div><div class="top"><p class="src"><a name="v:extendDom" class="def">extendDom</a> :: <a href="Compiler-Hoopl.html#t:Label">Label</a> -&gt; <a href="Compiler-Hoopl-Passes-Dominator.html#t:DPath">DPath</a> -&gt; <a href="Compiler-Hoopl-Passes-Dominator.html#t:DPath">DPath</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:DominatorNode" class="def">DominatorNode</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Entry" class="def">Entry</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Labelled" class="def">Labelled</a> <a href="Compiler-Hoopl.html#t:Label">Label</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:DominatorNode" class="caption collapser" onclick="toggleSection('i:DominatorNode')">Instances</p><div id="section.i:DominatorNode" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:DominatorNode">DominatorNode</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:DominatorTree" class="def">DominatorTree</a>  </p><div class="doc"><p>This data structure is a *rose tree* in which each node may have
  arbitrarily many children.  Each node dominates all its descendants.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Dominates" class="def">Dominates</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:DominatorNode">DominatorNode</a> [<a href="Compiler-Hoopl-Passes-Dominator.html#t:DominatorTree">DominatorTree</a>]</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:DominatorTree" class="caption collapser" onclick="toggleSection('i:DominatorTree')">Instances</p><div id="section.i:DominatorTree" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:DominatorTree">DominatorTree</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:tree" class="def">tree</a> :: [(<a href="Compiler-Hoopl.html#t:Label">Label</a>, <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a>)] -&gt; <a href="Compiler-Hoopl-Passes-Dominator.html#t:DominatorTree">DominatorTree</a></p><div class="doc"><p>Map from a FactBase for dominator lists into a
 dominator tree.  
</p></div></div><div class="top"><p class="src"><a name="v:immediateDominators" class="def">immediateDominators</a> :: <a href="Compiler-Hoopl.html#t:FactBase">FactBase</a> <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a> -&gt; <a href="Compiler-Hoopl.html#t:LabelMap">LabelMap</a> <a href="Compiler-Hoopl.html#t:Label">Label</a></p><div class="doc"><p>Takes FactBase from dominator analysis and returns a map from each 
 label to its immediate dominator, if any
</p></div></div><div class="top"><p class="src"><a name="v:domPass" class="def">domPass</a> :: (<a href="Compiler-Hoopl.html#t:NonLocal">NonLocal</a> n, <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; <a href="Compiler-Hoopl.html#t:FwdPass">FwdPass</a> m n <a href="Compiler-Hoopl-Passes-Dominator.html#t:Doms">Doms</a></p><div class="doc"><p>Dominator pass
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>