Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > da2ed07af0cf0f424d74f4cc6829a27c > files > 1098

ghc-ghc-devel-6.12.3-8.6.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>SPARC.Regs</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_SPARC-Regs.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>ghc-6.12.3: The GHC API</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>SPARC.Regs</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AshowReg"
>showReg</A
> :: <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvirtualRegSqueeze"
>virtualRegSqueeze</A
> :: <A HREF="RegClass.html#t%3ARegClass"
>RegClass</A
> -&gt; <A HREF="Reg.html#t%3AVirtualReg"
>VirtualReg</A
> -&gt; <A HREF="FastTypes.html#t%3AFastInt"
>FastInt</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArealRegSqueeze"
>realRegSqueeze</A
> :: <A HREF="RegClass.html#t%3ARegClass"
>RegClass</A
> -&gt; <A HREF="Reg.html#t%3ARealReg"
>RealReg</A
> -&gt; <A HREF="FastTypes.html#t%3AFastInt"
>FastInt</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AclassOfRealReg"
>classOfRealReg</A
> :: <A HREF="Reg.html#t%3ARealReg"
>RealReg</A
> -&gt; <A HREF="RegClass.html#t%3ARegClass"
>RegClass</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AallRealRegs"
>allRealRegs</A
> :: [<A HREF="Reg.html#t%3ARealReg"
>RealReg</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgReg"
>gReg</A
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AiReg"
>iReg</A
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlReg"
>lReg</A
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AoReg"
>oReg</A
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfReg"
>fReg</A
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afp"
>fp</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asp"
>sp</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ag0"
>g0</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ag1"
>g1</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ag2"
>g2</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ao0"
>o0</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ao1"
>o1</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Af0"
>f0</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Af1"
>f1</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Af6"
>f6</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Af8"
>f8</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Af22"
>f22</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Af26"
>f26</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Af27"
>f27</A
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AallocatableRegs"
>allocatableRegs</A
> :: [<A HREF="Reg.html#t%3ARealReg"
>RealReg</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aget_GlobalReg_reg_or_addr"
>get_GlobalReg_reg_or_addr</A
> :: <A HREF="CmmExpr.html#t%3AGlobalReg"
>GlobalReg</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither"
>Either</A
> <A HREF="Reg.html#t%3ARealReg"
>RealReg</A
> <A HREF="CmmExpr.html#t%3ACmmExpr"
>CmmExpr</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AargRegs"
>argRegs</A
> :: <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
> -&gt; [<A HREF="Reg.html#t%3AReg"
>Reg</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AallArgRegs"
>allArgRegs</A
> :: [<A HREF="Reg.html#t%3AReg"
>Reg</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcallClobberedRegs"
>callClobberedRegs</A
> :: [<A HREF="Reg.html#t%3AReg"
>Reg</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkVirtualReg"
>mkVirtualReg</A
> :: <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="Size.html#t%3ASize"
>Size</A
> -&gt; <A HREF="Reg.html#t%3AVirtualReg"
>VirtualReg</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AregDotColor"
>regDotColor</A
> :: <A HREF="Reg.html#t%3ARealReg"
>RealReg</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:showReg"
><A NAME="v%3AshowReg"
></A
></A
><B
>showReg</B
> :: <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Get the standard name for the register with this number.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:virtualRegSqueeze"
><A NAME="v%3AvirtualRegSqueeze"
></A
></A
><B
>virtualRegSqueeze</B
> :: <A HREF="RegClass.html#t%3ARegClass"
>RegClass</A
> -&gt; <A HREF="Reg.html#t%3AVirtualReg"
>VirtualReg</A
> -&gt; <A HREF="FastTypes.html#t%3AFastInt"
>FastInt</A
></TD
></TR
><TR
><TD CLASS="doc"
>regSqueeze_class reg
	Calculuate the maximum number of register colors that could be
	denied to a node of this class due to having this reg 
	as a neighbour.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:realRegSqueeze"
><A NAME="v%3ArealRegSqueeze"
></A
></A
><B
>realRegSqueeze</B
> :: <A HREF="RegClass.html#t%3ARegClass"
>RegClass</A
> -&gt; <A HREF="Reg.html#t%3ARealReg"
>RealReg</A
> -&gt; <A HREF="FastTypes.html#t%3AFastInt"
>FastInt</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:classOfRealReg"
><A NAME="v%3AclassOfRealReg"
></A
></A
><B
>classOfRealReg</B
> :: <A HREF="Reg.html#t%3ARealReg"
>RealReg</A
> -&gt; <A HREF="RegClass.html#t%3ARegClass"
>RegClass</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:allRealRegs"
><A NAME="v%3AallRealRegs"
></A
></A
><B
>allRealRegs</B
> :: [<A HREF="Reg.html#t%3ARealReg"
>RealReg</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>All the allocatable registers in the machine, 
	including register pairs.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gReg"
><A NAME="v%3AgReg"
></A
></A
><B
>gReg</B
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:iReg"
><A NAME="v%3AiReg"
></A
></A
><B
>iReg</B
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lReg"
><A NAME="v%3AlReg"
></A
></A
><B
>lReg</B
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="doc"
>Get the regno for this sort of reg
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:oReg"
><A NAME="v%3AoReg"
></A
></A
><B
>oReg</B
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fReg"
><A NAME="v%3AfReg"
></A
></A
><B
>fReg</B
> :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fp"
><A NAME="v%3Afp"
></A
></A
><B
>fp</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sp"
><A NAME="v%3Asp"
></A
></A
><B
>sp</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:g0"
><A NAME="v%3Ag0"
></A
></A
><B
>g0</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:g1"
><A NAME="v%3Ag1"
></A
></A
><B
>g1</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="doc"
>Some specific regs used by the code generator.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:g2"
><A NAME="v%3Ag2"
></A
></A
><B
>g2</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:o0"
><A NAME="v%3Ao0"
></A
></A
><B
>o0</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:o1"
><A NAME="v%3Ao1"
></A
></A
><B
>o1</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:f0"
><A NAME="v%3Af0"
></A
></A
><B
>f0</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:f1"
><A NAME="v%3Af1"
></A
></A
><B
>f1</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:f6"
><A NAME="v%3Af6"
></A
></A
><B
>f6</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:f8"
><A NAME="v%3Af8"
></A
></A
><B
>f8</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:f22"
><A NAME="v%3Af22"
></A
></A
><B
>f22</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:f26"
><A NAME="v%3Af26"
></A
></A
><B
>f26</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:f27"
><A NAME="v%3Af27"
></A
></A
><B
>f27</B
> :: <A HREF="Reg.html#t%3AReg"
>Reg</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:allocatableRegs"
><A NAME="v%3AallocatableRegs"
></A
></A
><B
>allocatableRegs</B
> :: [<A HREF="Reg.html#t%3ARealReg"
>RealReg</A
>]</TD
></TR
><TR
><TD CLASS="doc"
><P
>Produce the second-half-of-a-double register given the first half.
</P
><P
>All the regs that the register allocator can allocate to, 
	with the the fixed use regs removed.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:get_GlobalReg_reg_or_addr"
><A NAME="v%3Aget_GlobalReg_reg_or_addr"
></A
></A
><B
>get_GlobalReg_reg_or_addr</B
> :: <A HREF="CmmExpr.html#t%3AGlobalReg"
>GlobalReg</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Either.html#t%3AEither"
>Either</A
> <A HREF="Reg.html#t%3ARealReg"
>RealReg</A
> <A HREF="CmmExpr.html#t%3ACmmExpr"
>CmmExpr</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:argRegs"
><A NAME="v%3AargRegs"
></A
></A
><B
>argRegs</B
> :: <A HREF="Reg.html#t%3ARegNo"
>RegNo</A
> -&gt; [<A HREF="Reg.html#t%3AReg"
>Reg</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>The registers to place arguments for function calls, 
	for some number of arguments.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:allArgRegs"
><A NAME="v%3AallArgRegs"
></A
></A
><B
>allArgRegs</B
> :: [<A HREF="Reg.html#t%3AReg"
>Reg</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>All all the regs that could possibly be returned by argRegs
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:callClobberedRegs"
><A NAME="v%3AcallClobberedRegs"
></A
></A
><B
>callClobberedRegs</B
> :: [<A HREF="Reg.html#t%3AReg"
>Reg</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkVirtualReg"
><A NAME="v%3AmkVirtualReg"
></A
></A
><B
>mkVirtualReg</B
> :: <A HREF="Unique.html#t%3AUnique"
>Unique</A
> -&gt; <A HREF="Size.html#t%3ASize"
>Size</A
> -&gt; <A HREF="Reg.html#t%3AVirtualReg"
>VirtualReg</A
></TD
></TR
><TR
><TD CLASS="doc"
>Make a virtual reg with this size.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:regDotColor"
><A NAME="v%3AregDotColor"
></A
></A
><B
>regDotColor</B
> :: <A HREF="Reg.html#t%3ARealReg"
>RealReg</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>