Sophie

Sophie

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

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>CmmLive</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_CmmLive.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">ghc-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">CmmLive</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:CmmLive">CmmLive</a> = <a href="CmmExpr.html#t:RegSet">RegSet</a></li><li class="src short"><a href="#v:cmmLiveness">cmmLiveness</a> :: <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; <a href="OptimizationFuel.html#t:FuelUniqSM">FuelUniqSM</a> BlockEntryLiveness</li><li class="src short"><a href="#v:liveLattice">liveLattice</a> :: <a href="../hoopl-3.8.7.3/Compiler-Hoopl.html#t:DataflowLattice">DataflowLattice</a> <a href="CmmLive.html#t:CmmLive">CmmLive</a></li><li class="src short"><a href="#v:noLiveOnEntry">noLiveOnEntry</a> ::  <a href="BlockId.html#t:BlockId">BlockId</a> -&gt; <a href="CmmLive.html#t:CmmLive">CmmLive</a> -&gt; a -&gt; a</li><li class="src short"><a href="#v:xferLive">xferLive</a> :: <a href="../hoopl-3.8.7.3/Compiler-Hoopl.html#t:BwdTransfer">BwdTransfer</a> <a href="CmmNode.html#t:CmmNode">CmmNode</a> <a href="CmmLive.html#t:CmmLive">CmmLive</a></li><li class="src short"><a href="#v:gen">gen</a> :: <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> a =&gt; a -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></li><li class="src short"><a href="#v:kill">kill</a> :: <a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> a =&gt; a -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></li><li class="src short"><a href="#v:gen_kill">gen_kill</a> :: (<a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> a, <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> a) =&gt; a -&gt; <a href="CmmLive.html#t:CmmLive">CmmLive</a> -&gt; <a href="CmmLive.html#t:CmmLive">CmmLive</a></li><li class="src short"><a href="#v:removeDeadAssignments">removeDeadAssignments</a> :: <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; <a href="OptimizationFuel.html#t:FuelUniqSM">FuelUniqSM</a> <a href="Cmm.html#t:CmmGraph">CmmGraph</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:CmmLive" class="def">CmmLive</a> = <a href="CmmExpr.html#t:RegSet">RegSet</a></p><div class="doc"><p>The variables live on entry to a block
</p></div></div><div class="top"><p class="src"><a name="v:cmmLiveness" class="def">cmmLiveness</a> :: <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; <a href="OptimizationFuel.html#t:FuelUniqSM">FuelUniqSM</a> BlockEntryLiveness</p><div class="doc"><p>Calculated liveness info for a CmmGraph
</p></div></div><div class="top"><p class="src"><a name="v:liveLattice" class="def">liveLattice</a> :: <a href="../hoopl-3.8.7.3/Compiler-Hoopl.html#t:DataflowLattice">DataflowLattice</a> <a href="CmmLive.html#t:CmmLive">CmmLive</a></p><div class="doc"><p>The dataflow lattice
</p></div></div><div class="top"><p class="src"><a name="v:noLiveOnEntry" class="def">noLiveOnEntry</a> ::  <a href="BlockId.html#t:BlockId">BlockId</a> -&gt; <a href="CmmLive.html#t:CmmLive">CmmLive</a> -&gt; a -&gt; a</p><div class="doc"><p>On entry to the procedure, there had better not be any LocalReg's live-in.
</p></div></div><div class="top"><p class="src"><a name="v:xferLive" class="def">xferLive</a> :: <a href="../hoopl-3.8.7.3/Compiler-Hoopl.html#t:BwdTransfer">BwdTransfer</a> <a href="CmmNode.html#t:CmmNode">CmmNode</a> <a href="CmmLive.html#t:CmmLive">CmmLive</a></p><div class="doc"><p>The transfer function
 EZY: Bits of this analysis are duplicated in CmmSpillReload, though
 it's not really easy to efficiently reuse all of this.  Keep in mind
 if you need to update this analysis.
</p></div></div><div class="top"><p class="src"><a name="v:gen" class="def">gen</a> :: <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> a =&gt; a -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></p><div class="doc"><p>The transfer equations use the traditional <code><a href="CmmLive.html#v:gen">gen</a></code> and <code><a href="CmmLive.html#v:kill">kill</a></code>
 notations, which should be familiar from the Dragon Book.
</p></div></div><div class="top"><p class="src"><a name="v:kill" class="def">kill</a> :: <a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> a =&gt; a -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></p></div><div class="top"><p class="src"><a name="v:gen_kill" class="def">gen_kill</a> :: (<a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> a, <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> a) =&gt; a -&gt; <a href="CmmLive.html#t:CmmLive">CmmLive</a> -&gt; <a href="CmmLive.html#t:CmmLive">CmmLive</a></p></div><div class="top"><p class="src"><a name="v:removeDeadAssignments" class="def">removeDeadAssignments</a> :: <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; <a href="OptimizationFuel.html#t:FuelUniqSM">FuelUniqSM</a> <a href="Cmm.html#t:CmmGraph">CmmGraph</a></p></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>