Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > 956c458aa5fe9afc4d2c00cb7b491287 > files > 2822

ghc-7.4.2-4.mga5.x86_64.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>CmmStackLayout</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_CmmStackLayout.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">CmmStackLayout</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:SlotEnv">SlotEnv</a> = <a href="BlockId.html#t:BlockEnv">BlockEnv</a> <a href="CmmExpr.html#t:SubAreaSet">SubAreaSet</a></li><li class="src short"><a href="#v:liveSlotAnal">liveSlotAnal</a> :: <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; <a href="OptimizationFuel.html#t:FuelUniqSM">FuelUniqSM</a> <a href="CmmStackLayout.html#t:SlotEnv">SlotEnv</a></li><li class="src short"><a href="#v:liveSlotTransfers">liveSlotTransfers</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="CmmExpr.html#t:SubAreaSet">SubAreaSet</a></li><li class="src short"><a href="#v:removeLiveSlotDefs">removeLiveSlotDefs</a> :: (<a href="CmmExpr.html#t:DefinerOfSlots">DefinerOfSlots</a> s, <a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> s) =&gt; <a href="CmmExpr.html#t:SubAreaSet">SubAreaSet</a> -&gt; s -&gt; <a href="CmmExpr.html#t:SubAreaSet">SubAreaSet</a></li><li class="src short"><a href="#v:getSpEntryMap">getSpEntryMap</a> :: <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; SpEntryMap</li><li class="src short"><a href="#v:layout">layout</a> :: <a href="CmmProcPoint.html#t:ProcPointSet">ProcPointSet</a> -&gt; SpEntryMap -&gt; <a href="CmmStackLayout.html#t:SlotEnv">SlotEnv</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; <a href="CmmExpr.html#t:AreaMap">AreaMap</a></li><li class="src short"><a href="#v:manifestSP">manifestSP</a> :: SpEntryMap -&gt; <a href="CmmExpr.html#t:AreaMap">AreaMap</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <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><li class="src short"><a href="#v:igraph">igraph</a> :: <a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> x =&gt; IGraphBuilder x -&gt; <a href="CmmStackLayout.html#t:SlotEnv">SlotEnv</a> -&gt; <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; IGraph x</li><li class="src short"><a href="#v:areaBuilder">areaBuilder</a> :: IGraphBuilder <a href="CmmExpr.html#t:Area">Area</a></li><li class="src short"><a href="#v:stubSlotsOnDeath">stubSlotsOnDeath</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:SlotEnv" class="def">SlotEnv</a> = <a href="BlockId.html#t:BlockEnv">BlockEnv</a> <a href="CmmExpr.html#t:SubAreaSet">SubAreaSet</a></p></div><div class="top"><p class="src"><a name="v:liveSlotAnal" class="def">liveSlotAnal</a> :: <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; <a href="OptimizationFuel.html#t:FuelUniqSM">FuelUniqSM</a> <a href="CmmStackLayout.html#t:SlotEnv">SlotEnv</a></p></div><div class="top"><p class="src"><a name="v:liveSlotTransfers" class="def">liveSlotTransfers</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="CmmExpr.html#t:SubAreaSet">SubAreaSet</a></p></div><div class="top"><p class="src"><a name="v:removeLiveSlotDefs" class="def">removeLiveSlotDefs</a> :: (<a href="CmmExpr.html#t:DefinerOfSlots">DefinerOfSlots</a> s, <a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> s) =&gt; <a href="CmmExpr.html#t:SubAreaSet">SubAreaSet</a> -&gt; s -&gt; <a href="CmmExpr.html#t:SubAreaSet">SubAreaSet</a></p></div><div class="top"><p class="src"><a name="v:getSpEntryMap" class="def">getSpEntryMap</a> :: <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; SpEntryMap</p></div><div class="top"><p class="src"><a name="v:layout" class="def">layout</a> :: <a href="CmmProcPoint.html#t:ProcPointSet">ProcPointSet</a> -&gt; SpEntryMap -&gt; <a href="CmmStackLayout.html#t:SlotEnv">SlotEnv</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; <a href="CmmExpr.html#t:AreaMap">AreaMap</a></p><div class="doc"><p>Greedy stack layout.
 Compute liveness, build the interference graph, and allocate slots for the areas.
 We visit each basic block in a (generally) forward order.
</p></div></div><div class="top"><p class="src"><a name="v:manifestSP" class="def">manifestSP</a> :: SpEntryMap -&gt; <a href="CmmExpr.html#t:AreaMap">AreaMap</a> -&gt; <a href="SMRep.html#t:ByteOff">ByteOff</a> -&gt; <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 class="top"><p class="src"><a name="v:igraph" class="def">igraph</a> :: <a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> x =&gt; IGraphBuilder x -&gt; <a href="CmmStackLayout.html#t:SlotEnv">SlotEnv</a> -&gt; <a href="Cmm.html#t:CmmGraph">CmmGraph</a> -&gt; IGraph x</p></div><div class="top"><p class="src"><a name="v:areaBuilder" class="def">areaBuilder</a> :: IGraphBuilder <a href="CmmExpr.html#t:Area">Area</a></p></div><div class="top"><p class="src"><a name="v:stubSlotsOnDeath" class="def">stubSlotsOnDeath</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 class="doc"><p>Sanity check: stub pointers immediately after they die
</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>