Sophie

Sophie

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

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>CmmExpr</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_CmmExpr.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">CmmExpr</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">data</span>  <a href="#t:CmmExpr">CmmExpr</a> <ul class="subs"><li>= <a href="#v:CmmLit">CmmLit</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a>  </li><li>| <a href="#v:CmmLoad">CmmLoad</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> <a href="CmmType.html#t:CmmType">CmmType</a>  </li><li>| <a href="#v:CmmReg">CmmReg</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a>  </li><li>| <a href="#v:CmmMachOp">CmmMachOp</a> <a href="CmmMachOp.html#t:MachOp">MachOp</a> [<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>]  </li><li>| <a href="#v:CmmStackSlot">CmmStackSlot</a> <a href="CmmExpr.html#t:Area">Area</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:CmmRegOff">CmmRegOff</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li></ul></li><li class="src short"><a href="#v:cmmExprType">cmmExprType</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></li><li class="src short"><a href="#v:cmmExprWidth">cmmExprWidth</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmType.html#t:Width">Width</a></li><li class="src short"><a href="#v:maybeInvertCmmExpr">maybeInvertCmmExpr</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:CmmReg">CmmReg</a> <ul class="subs"><li>= <a href="#v:CmmLocal">CmmLocal</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a>  </li><li>| <a href="#v:CmmGlobal">CmmGlobal</a> <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a>  </li></ul></li><li class="src short"><a href="#v:cmmRegType">cmmRegType</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:CmmLit">CmmLit</a> <ul class="subs"><li>= <a href="#v:CmmInt">CmmInt</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> <a href="CmmType.html#t:Width">Width</a>  </li><li>| <a href="#v:CmmFloat">CmmFloat</a> <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a> <a href="CmmType.html#t:Width">Width</a>  </li><li>| <a href="#v:CmmLabel">CmmLabel</a> <a href="CLabel.html#t:CLabel">CLabel</a>  </li><li>| <a href="#v:CmmLabelOff">CmmLabelOff</a> <a href="CLabel.html#t:CLabel">CLabel</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:CmmLabelDiffOff">CmmLabelDiffOff</a> <a href="CLabel.html#t:CLabel">CLabel</a> <a href="CLabel.html#t:CLabel">CLabel</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:CmmBlock">CmmBlock</a> <a href="BlockId.html#t:BlockId">BlockId</a>  </li><li>| <a href="#v:CmmHighStackMark">CmmHighStackMark</a>  </li></ul></li><li class="src short"><a href="#v:cmmLitType">cmmLitType</a> :: <a href="CmmExpr.html#t:CmmLit">CmmLit</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:LocalReg">LocalReg</a>  = <a href="#v:LocalReg">LocalReg</a> !<a href="Unique.html#t:Unique">Unique</a> <a href="CmmType.html#t:CmmType">CmmType</a></li><li class="src short"><a href="#v:localRegType">localRegType</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:GlobalReg">GlobalReg</a> <ul class="subs"><li>= <a href="#v:VanillaReg">VanillaReg</a> !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> <a href="CmmExpr.html#t:VGcPtr">VGcPtr</a>  </li><li>| <a href="#v:FloatReg">FloatReg</a> !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:DoubleReg">DoubleReg</a> !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:LongReg">LongReg</a> !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:Sp">Sp</a>  </li><li>| <a href="#v:SpLim">SpLim</a>  </li><li>| <a href="#v:Hp">Hp</a>  </li><li>| <a href="#v:HpLim">HpLim</a>  </li><li>| <a href="#v:CCCS">CCCS</a>  </li><li>| <a href="#v:CurrentTSO">CurrentTSO</a>  </li><li>| <a href="#v:CurrentNursery">CurrentNursery</a>  </li><li>| <a href="#v:HpAlloc">HpAlloc</a>  </li><li>| <a href="#v:EagerBlackholeInfo">EagerBlackholeInfo</a>  </li><li>| <a href="#v:GCEnter1">GCEnter1</a>  </li><li>| <a href="#v:GCFun">GCFun</a>  </li><li>| <a href="#v:BaseReg">BaseReg</a>  </li><li>| <a href="#v:PicBaseReg">PicBaseReg</a>  </li></ul></li><li class="src short"><a href="#v:globalRegType">globalRegType</a> :: <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></li><li class="src short"><a href="#v:spReg">spReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></li><li class="src short"><a href="#v:hpReg">hpReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></li><li class="src short"><a href="#v:spLimReg">spLimReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></li><li class="src short"><a href="#v:nodeReg">nodeReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></li><li class="src short"><a href="#v:node">node</a> :: <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a></li><li class="src short"><a href="#v:baseReg">baseReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:VGcPtr">VGcPtr</a> <ul class="subs"><li>= <a href="#v:VGcPtr">VGcPtr</a>  </li><li>| <a href="#v:VNonGcPtr">VNonGcPtr</a>  </li></ul></li><li class="src short"><a href="#v:vgcFlag">vgcFlag</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CmmExpr.html#t:VGcPtr">VGcPtr</a></li><li class="src short"><span class="keyword">class</span>  <a href="#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> a  <span class="keyword">where</span><ul class="subs"><li><a href="#v:foldRegsDefd">foldRegsDefd</a> ::  (b -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; b) -&gt; b -&gt; a -&gt; b</li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:UserOfLocalRegs">UserOfLocalRegs</a> a  <span class="keyword">where</span><ul class="subs"><li><a href="#v:foldRegsUsed">foldRegsUsed</a> ::  (b -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; b) -&gt; b -&gt; a -&gt; b</li></ul></li><li class="src short"><a href="#v:filterRegsUsed">filterRegsUsed</a> :: <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> e =&gt; (<a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; e -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></li><li class="src short"><span class="keyword">class</span>  <a href="#t:DefinerOfSlots">DefinerOfSlots</a> a  <span class="keyword">where</span><ul class="subs"><li><a href="#v:foldSlotsDefd">foldSlotsDefd</a> ::  (b -&gt; <a href="CmmExpr.html#t:SubArea">SubArea</a> -&gt; b) -&gt; b -&gt; a -&gt; b</li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:UserOfSlots">UserOfSlots</a> a  <span class="keyword">where</span><ul class="subs"><li><a href="#v:foldSlotsUsed">foldSlotsUsed</a> ::  (b -&gt; <a href="CmmExpr.html#t:SubArea">SubArea</a> -&gt; b) -&gt; b -&gt; a -&gt; b</li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:RegSet">RegSet</a> = <a href="UniqSet.html#t:UniqSet">UniqSet</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></li><li class="src short"><a href="#v:emptyRegSet">emptyRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</a></li><li class="src short"><a href="#v:elemRegSet">elemRegSet</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:extendRegSet">extendRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></li><li class="src short"><a href="#v:deleteFromRegSet">deleteFromRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></li><li class="src short"><a href="#v:mkRegSet">mkRegSet</a> :: [<a href="CmmExpr.html#t:LocalReg">LocalReg</a>] -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></li><li class="src short"><a href="#v:plusRegSet">plusRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</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:minusRegSet">minusRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</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:timesRegSet">timesRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</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:regUsedIn">regUsedIn</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:regSlot">regSlot</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Area">Area</a> <ul class="subs"><li>= <a href="#v:RegSlot">RegSlot</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a>  </li><li>| <a href="#v:CallArea">CallArea</a> <a href="CmmExpr.html#t:AreaId">AreaId</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:AreaId">AreaId</a> <ul class="subs"><li>= <a href="#v:Old">Old</a>  </li><li>| <a href="#v:Young">Young</a> <a href="BlockId.html#t:BlockId">BlockId</a>  </li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:SubArea">SubArea</a> = (<a href="CmmExpr.html#t:Area">Area</a>, <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>, <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>)</li><li class="src short"><span class="keyword">type</span> <a href="#t:SubAreaSet">SubAreaSet</a> = <a href="../containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="CmmExpr.html#t:Area">Area</a> [<a href="CmmExpr.html#t:SubArea">SubArea</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:AreaMap">AreaMap</a> = <a href="../containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="CmmExpr.html#t:Area">Area</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:isStackSlotOf">isStackSlotOf</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short">module <a href="CmmMachOp.html">CmmMachOp</a></li><li class="src short">module <a href="CmmType.html">CmmType</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CmmExpr" class="def">CmmExpr</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CmmLit" class="def">CmmLit</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmLoad" class="def">CmmLoad</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> <a href="CmmType.html#t:CmmType">CmmType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmReg" class="def">CmmReg</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmMachOp" class="def">CmmMachOp</a> <a href="CmmMachOp.html#t:MachOp">MachOp</a> [<a href="CmmExpr.html#t:CmmExpr">CmmExpr</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmStackSlot" class="def">CmmStackSlot</a> <a href="CmmExpr.html#t:Area">Area</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmRegOff" class="def">CmmRegOff</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:CmmExpr" class="caption collapser" onclick="toggleSection('i:CmmExpr')">Instances</p><div id="section.i:CmmExpr" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:PlatformOutputable">PlatformOutputable</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:cmmExprType" class="def">cmmExprType</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></p></div><div class="top"><p class="src"><a name="v:cmmExprWidth" class="def">cmmExprWidth</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmType.html#t:Width">Width</a></p></div><div class="top"><p class="src"><a name="v:maybeInvertCmmExpr" class="def">maybeInvertCmmExpr</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CmmReg" class="def">CmmReg</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CmmLocal" class="def">CmmLocal</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmGlobal" class="def">CmmGlobal</a> <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:CmmReg" class="caption collapser" onclick="toggleSection('i:CmmReg')">Instances</p><div id="section.i:CmmReg" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:cmmRegType" class="def">cmmRegType</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CmmLit" class="def">CmmLit</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CmmInt" class="def">CmmInt</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> <a href="CmmType.html#t:Width">Width</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmFloat" class="def">CmmFloat</a> <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a> <a href="CmmType.html#t:Width">Width</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmLabel" class="def">CmmLabel</a> <a href="CLabel.html#t:CLabel">CLabel</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmLabelOff" class="def">CmmLabelOff</a> <a href="CLabel.html#t:CLabel">CLabel</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmLabelDiffOff" class="def">CmmLabelDiffOff</a> <a href="CLabel.html#t:CLabel">CLabel</a> <a href="CLabel.html#t:CLabel">CLabel</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmBlock" class="def">CmmBlock</a> <a href="BlockId.html#t:BlockId">BlockId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmmHighStackMark" class="def">CmmHighStackMark</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:CmmLit" class="caption collapser" onclick="toggleSection('i:CmmLit')">Instances</p><div id="section.i:CmmLit" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:PlatformOutputable">PlatformOutputable</a> <a href="CmmExpr.html#t:CmmLit">CmmLit</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:cmmLitType" class="def">cmmLitType</a> :: <a href="CmmExpr.html#t:CmmLit">CmmLit</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:LocalReg" class="def">LocalReg</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:LocalReg" class="def">LocalReg</a> !<a href="Unique.html#t:Unique">Unique</a> <a href="CmmType.html#t:CmmType">CmmType</a></td><td class="doc"><p>Parameters:
   1. Identifier
   2. Type
</p></td></tr></table></div><div class="subs instances"><p id="control.i:LocalReg" class="caption collapser" onclick="toggleSection('i:LocalReg')">Instances</p><div id="section.i:LocalReg" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:PlatformOutputable">PlatformOutputable</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Unique.html#t:Uniquable">Uniquable</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmExpr.html#t:RegSet">RegSet</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:localRegType" class="def">localRegType</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:GlobalReg" class="def">GlobalReg</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:VanillaReg" class="def">VanillaReg</a> !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> <a href="CmmExpr.html#t:VGcPtr">VGcPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:FloatReg" class="def">FloatReg</a> !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DoubleReg" class="def">DoubleReg</a> !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:LongReg" class="def">LongReg</a> !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Sp" class="def">Sp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SpLim" class="def">SpLim</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Hp" class="def">Hp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HpLim" class="def">HpLim</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CCCS" class="def">CCCS</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CurrentTSO" class="def">CurrentTSO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CurrentNursery" class="def">CurrentNursery</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HpAlloc" class="def">HpAlloc</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:EagerBlackholeInfo" class="def">EagerBlackholeInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:GCEnter1" class="def">GCEnter1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:GCFun" class="def">GCFun</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BaseReg" class="def">BaseReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PicBaseReg" class="def">PicBaseReg</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:GlobalReg" class="caption collapser" onclick="toggleSection('i:GlobalReg')">Instances</p><div id="section.i:GlobalReg" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:globalRegType" class="def">globalRegType</a> :: <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a> -&gt; <a href="CmmType.html#t:CmmType">CmmType</a></p></div><div class="top"><p class="src"><a name="v:spReg" class="def">spReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></p></div><div class="top"><p class="src"><a name="v:hpReg" class="def">hpReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></p></div><div class="top"><p class="src"><a name="v:spLimReg" class="def">spLimReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></p></div><div class="top"><p class="src"><a name="v:nodeReg" class="def">nodeReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></p></div><div class="top"><p class="src"><a name="v:node" class="def">node</a> :: <a href="CmmExpr.html#t:GlobalReg">GlobalReg</a></p></div><div class="top"><p class="src"><a name="v:baseReg" class="def">baseReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:VGcPtr" class="def">VGcPtr</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:VGcPtr" class="def">VGcPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VNonGcPtr" class="def">VNonGcPtr</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:VGcPtr" class="caption collapser" onclick="toggleSection('i:VGcPtr')">Instances</p><div id="section.i:VGcPtr" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CmmExpr.html#t:VGcPtr">VGcPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="CmmExpr.html#t:VGcPtr">VGcPtr</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:vgcFlag" class="def">vgcFlag</a> :: <a href="CmmType.html#t:CmmType">CmmType</a> -&gt; <a href="CmmExpr.html#t:VGcPtr">VGcPtr</a></p></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:DefinerOfLocalRegs" class="def">DefinerOfLocalRegs</a> a  <span class="keyword">where</span></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:foldRegsDefd" class="def">foldRegsDefd</a> ::  (b -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; b) -&gt; b -&gt; a -&gt; b</p></div><div class="subs instances"><p id="control.i:DefinerOfLocalRegs" class="caption collapser" onclick="toggleSection('i:DefinerOfLocalRegs')">Instances</p><div id="section.i:DefinerOfLocalRegs" class="show"><table><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> a =&gt; <a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> [a]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> a =&gt; <a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> a =&gt; <a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> (<a href="OldCmm.html#t:CmmHinted">CmmHinted</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> (<a href="CmmNode.html#t:CmmNode">CmmNode</a> e x)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> (n e x) =&gt; <a href="CmmExpr.html#t:DefinerOfLocalRegs">DefinerOfLocalRegs</a> (WithRegUsage n e x)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:UserOfLocalRegs" class="def">UserOfLocalRegs</a> a  <span class="keyword">where</span></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:foldRegsUsed" class="def">foldRegsUsed</a> ::  (b -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; b) -&gt; b -&gt; a -&gt; b</p></div><div class="subs instances"><p id="control.i:UserOfLocalRegs" class="caption collapser" onclick="toggleSection('i:UserOfLocalRegs')">Instances</p><div id="section.i:UserOfLocalRegs" class="show"><table><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmExpr.html#t:RegSet">RegSet</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmExpr.html#t:CmmReg">CmmReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="CmmNode.html#t:ForeignTarget">ForeignTarget</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="OldCmm.html#t:CmmCallTarget">CmmCallTarget</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> <a href="OldCmm.html#t:CmmStmt">CmmStmt</a></td><td class="doc"><p>enable us to fold used registers over '[CmmActual]' and '[CmmFormal]'
</p></td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> a =&gt; <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> [a]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> a =&gt; <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> (<a href="OldCmm.html#t:CmmHinted">CmmHinted</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> i =&gt; <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> (<a href="OldCmm.html#t:GenBasicBlock">GenBasicBlock</a> i)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> (<a href="CmmNode.html#t:CmmNode">CmmNode</a> e x)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> (n e x) =&gt; <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> (WithRegUsage n e x)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:filterRegsUsed" class="def">filterRegsUsed</a> :: <a href="CmmExpr.html#t:UserOfLocalRegs">UserOfLocalRegs</a> e =&gt; (<a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; e -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></p></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:DefinerOfSlots" class="def">DefinerOfSlots</a> a  <span class="keyword">where</span></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:foldSlotsDefd" class="def">foldSlotsDefd</a> ::  (b -&gt; <a href="CmmExpr.html#t:SubArea">SubArea</a> -&gt; b) -&gt; b -&gt; a -&gt; b</p></div><div class="subs instances"><p id="control.i:DefinerOfSlots" class="caption collapser" onclick="toggleSection('i:DefinerOfSlots')">Instances</p><div id="section.i:DefinerOfSlots" class="show"><table><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfSlots">DefinerOfSlots</a> <a href="CmmExpr.html#t:SubArea">SubArea</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfSlots">DefinerOfSlots</a> a =&gt; <a href="CmmExpr.html#t:DefinerOfSlots">DefinerOfSlots</a> [a]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfSlots">DefinerOfSlots</a> (<a href="CmmNode.html#t:CmmNode">CmmNode</a> e x)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:UserOfSlots" class="def">UserOfSlots</a> a  <span class="keyword">where</span></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:foldSlotsUsed" class="def">foldSlotsUsed</a> ::  (b -&gt; <a href="CmmExpr.html#t:SubArea">SubArea</a> -&gt; b) -&gt; b -&gt; a -&gt; b</p></div><div class="subs instances"><p id="control.i:UserOfSlots" class="caption collapser" onclick="toggleSection('i:UserOfSlots')">Instances</p><div id="section.i:UserOfSlots" class="show"><table><tr><td class="src"><a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> <a href="CmmNode.html#t:ForeignTarget">ForeignTarget</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> <a href="OldCmm.html#t:CmmCallTarget">CmmCallTarget</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> a =&gt; <a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> [a]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> a =&gt; <a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> (<a href="OldCmm.html#t:CmmHinted">CmmHinted</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:UserOfSlots">UserOfSlots</a> (<a href="CmmNode.html#t:CmmNode">CmmNode</a> e x)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:RegSet" class="def">RegSet</a> = <a href="UniqSet.html#t:UniqSet">UniqSet</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></p><div class="doc"><p>Sets of local registers
</p></div></div><div class="top"><p class="src"><a name="v:emptyRegSet" class="def">emptyRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</a></p></div><div class="top"><p class="src"><a name="v:elemRegSet" class="def">elemRegSet</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:extendRegSet" class="def">extendRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></p></div><div class="top"><p class="src"><a name="v:deleteFromRegSet" class="def">deleteFromRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</a> -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></p></div><div class="top"><p class="src"><a name="v:mkRegSet" class="def">mkRegSet</a> :: [<a href="CmmExpr.html#t:LocalReg">LocalReg</a>] -&gt; <a href="CmmExpr.html#t:RegSet">RegSet</a></p></div><div class="top"><p class="src"><a name="v:plusRegSet" class="def">plusRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</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:minusRegSet" class="def">minusRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</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:timesRegSet" class="def">timesRegSet</a> :: <a href="CmmExpr.html#t:RegSet">RegSet</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:regUsedIn" class="def">regUsedIn</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:regSlot" class="def">regSlot</a> :: <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Area" class="def">Area</a>  </p><div class="doc"><p>A stack area is either the stack slot where a variable is spilled
 or the stack space where function arguments and results are passed.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:RegSlot" class="def">RegSlot</a> <a href="CmmExpr.html#t:LocalReg">LocalReg</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CallArea" class="def">CallArea</a> <a href="CmmExpr.html#t:AreaId">AreaId</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Area" class="caption collapser" onclick="toggleSection('i:Area')">Instances</p><div id="section.i:Area" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CmmExpr.html#t:Area">Area</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="CmmExpr.html#t:Area">Area</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="CmmExpr.html#t:Area">Area</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="CmmExpr.html#t:DefinerOfSlots">DefinerOfSlots</a> <a href="CmmExpr.html#t:SubArea">SubArea</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:AreaId" class="def">AreaId</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Old" class="def">Old</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Young" class="def">Young</a> <a href="BlockId.html#t:BlockId">BlockId</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:AreaId" class="caption collapser" onclick="toggleSection('i:AreaId')">Instances</p><div id="section.i:AreaId" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CmmExpr.html#t:AreaId">AreaId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="CmmExpr.html#t:AreaId">AreaId</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:SubArea" class="def">SubArea</a> = (<a href="CmmExpr.html#t:Area">Area</a>, <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>, <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>)</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:SubAreaSet" class="def">SubAreaSet</a> = <a href="../containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="CmmExpr.html#t:Area">Area</a> [<a href="CmmExpr.html#t:SubArea">SubArea</a>]</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:AreaMap" class="def">AreaMap</a> = <a href="../containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="CmmExpr.html#t:Area">Area</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><a name="v:isStackSlotOf" class="def">isStackSlotOf</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:LocalReg">LocalReg</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src">module <a href="CmmMachOp.html">CmmMachOp</a></p></div><div class="top"><p class="src">module <a href="CmmType.html">CmmType</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>