Sophie

Sophie

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

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>SPARC.CodeGen.Base</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_SPARC-CodeGen-Base.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">SPARC.CodeGen.Base</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:InstrBlock">InstrBlock</a> = <a href="OrdList.html#t:OrdList">OrdList</a> <a href="SPARC-Instr.html#t:Instr">Instr</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:CondCode">CondCode</a>  = <a href="#v:CondCode">CondCode</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="SPARC-Cond.html#t:Cond">Cond</a> <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ChildCode64">ChildCode64</a>  = <a href="#v:ChildCode64">ChildCode64</a> <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a> <a href="Reg.html#t:Reg">Reg</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Amode">Amode</a>  = <a href="#v:Amode">Amode</a> <a href="SPARC-AddrMode.html#t:AddrMode">AddrMode</a> <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Register">Register</a> <ul class="subs"><li>= <a href="#v:Fixed">Fixed</a> <a href="Size.html#t:Size">Size</a> <a href="Reg.html#t:Reg">Reg</a> <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a>  </li><li>| <a href="#v:Any">Any</a> <a href="Size.html#t:Size">Size</a> (<a href="Reg.html#t:Reg">Reg</a> -&gt; <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a>)  </li></ul></li><li class="src short"><a href="#v:setSizeOfRegister">setSizeOfRegister</a> :: <a href="SPARC-CodeGen-Base.html#t:Register">Register</a> -&gt; <a href="Size.html#t:Size">Size</a> -&gt; <a href="SPARC-CodeGen-Base.html#t:Register">Register</a></li><li class="src short"><a href="#v:getRegisterReg">getRegisterReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="Reg.html#t:Reg">Reg</a></li><li class="src short"><a href="#v:mangleIndexTree">mangleIndexTree</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:InstrBlock" class="def">InstrBlock</a> = <a href="OrdList.html#t:OrdList">OrdList</a> <a href="SPARC-Instr.html#t:Instr">Instr</a></p><div class="doc"><p><code><a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a></code>s are the insn sequences generated by the insn selectors.
 	They are really trees of insns to facilitate fast appending, where a
 	left-to-right traversal yields the insns in the correct	order.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CondCode" class="def">CondCode</a>  </p><div class="doc"><p>Condition codes passed up the tree.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CondCode" class="def">CondCode</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="SPARC-Cond.html#t:Cond">Cond</a> <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ChildCode64" class="def">ChildCode64</a>  </p><div class="doc"><p>a.k.a <a href="Register64.html">Register64</a>
	Reg is the lower 32-bit temporary which contains the result. 
	Use getHiVRegFromLo to find the other VRegUnique.  
</p><p>Rules of this simplified insn selection game are therefore that
	the returned Reg may be modified
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ChildCode64" class="def">ChildCode64</a> <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a> <a href="Reg.html#t:Reg">Reg</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Amode" class="def">Amode</a>  </p><div class="doc"><p>Holds code that references a memory address.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Amode" class="def">Amode</a> <a href="SPARC-AddrMode.html#t:AddrMode">AddrMode</a> <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Register" class="def">Register</a>  </p><div class="doc"><p>Code to produce a result into a register.
	If the result must go in a specific register, it comes out as Fixed.
	Otherwise, the parent can decide which register to put it in.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Fixed" class="def">Fixed</a> <a href="Size.html#t:Size">Size</a> <a href="Reg.html#t:Reg">Reg</a> <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Any" class="def">Any</a> <a href="Size.html#t:Size">Size</a> (<a href="Reg.html#t:Reg">Reg</a> -&gt; <a href="SPARC-CodeGen-Base.html#t:InstrBlock">InstrBlock</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:setSizeOfRegister" class="def">setSizeOfRegister</a> :: <a href="SPARC-CodeGen-Base.html#t:Register">Register</a> -&gt; <a href="Size.html#t:Size">Size</a> -&gt; <a href="SPARC-CodeGen-Base.html#t:Register">Register</a></p><div class="doc"><p>Change the size field in a Register.
</p></div></div><div class="top"><p class="src"><a name="v:getRegisterReg" class="def">getRegisterReg</a> :: <a href="CmmExpr.html#t:CmmReg">CmmReg</a> -&gt; <a href="Reg.html#t:Reg">Reg</a></p><div class="doc"><p>Grab the Reg for a CmmReg
</p></div></div><div class="top"><p class="src"><a name="v:mangleIndexTree" class="def">mangleIndexTree</a> :: <a href="CmmExpr.html#t:CmmExpr">CmmExpr</a> -&gt; <a href="CmmExpr.html#t:CmmExpr">CmmExpr</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>