Sophie

Sophie

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

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
>CmmStackLayout</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_CmmStackLayout.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"
>CmmStackLayout</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"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ASlotEnv"
>SlotEnv</A
> = <A HREF="BlockId.html#t%3ABlockEnv"
>BlockEnv</A
> <A HREF="CmmExpr.html#t%3ASubAreaSet"
>SubAreaSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AliveSlotAnal"
>liveSlotAnal</A
> :: <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; <A HREF="OptimizationFuel.html#t%3AFuelMonad"
>FuelMonad</A
> <A HREF="CmmStackLayout.html#t%3ASlotEnv"
>SlotEnv</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AliveSlotTransfers"
>liveSlotTransfers</A
> :: <A HREF="ZipDataflow.html#t%3ABackwardTransfers"
>BackwardTransfers</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> <A HREF="CmmExpr.html#t%3ASubAreaSet"
>SubAreaSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AremoveLiveSlotDefs"
>removeLiveSlotDefs</A
> :: (<A HREF="CmmExpr.html#t%3ADefinerOfSlots"
>DefinerOfSlots</A
> s, <A HREF="CmmExpr.html#t%3AUserOfSlots"
>UserOfSlots</A
> s) =&gt; <A HREF="CmmExpr.html#t%3ASubAreaSet"
>SubAreaSet</A
> -&gt; s -&gt; <A HREF="CmmExpr.html#t%3ASubAreaSet"
>SubAreaSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alayout"
>layout</A
> :: <A HREF="CmmProcPointZ.html#t%3AProcPointSet"
>ProcPointSet</A
> -&gt; <A HREF="CmmStackLayout.html#t%3ASlotEnv"
>SlotEnv</A
> -&gt; <A HREF="SMRep.html#t%3AByteOff"
>ByteOff</A
> -&gt; <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; <A HREF="CmmExpr.html#t%3AAreaMap"
>AreaMap</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmanifestSP"
>manifestSP</A
> :: <A HREF="CmmExpr.html#t%3AAreaMap"
>AreaMap</A
> -&gt; <A HREF="SMRep.html#t%3AByteOff"
>ByteOff</A
> -&gt; <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; <A HREF="OptimizationFuel.html#t%3AFuelMonad"
>FuelMonad</A
> (<A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aigraph"
>igraph</A
> :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> x =&gt; IGraphBuilder x -&gt; <A HREF="CmmStackLayout.html#t%3ASlotEnv"
>SlotEnv</A
> -&gt; <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; IGraph x</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AareaBuilder"
>areaBuilder</A
> :: IGraphBuilder <A HREF="CmmExpr.html#t%3AArea"
>Area</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstubSlotsOnDeath"
>stubSlotsOnDeath</A
> :: <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; <A HREF="OptimizationFuel.html#t%3AFuelMonad"
>FuelMonad</A
> (<A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</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"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:SlotEnv"
><A NAME="t%3ASlotEnv"
></A
></A
><B
>SlotEnv</B
> = <A HREF="BlockId.html#t%3ABlockEnv"
>BlockEnv</A
> <A HREF="CmmExpr.html#t%3ASubAreaSet"
>SubAreaSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:liveSlotAnal"
><A NAME="v%3AliveSlotAnal"
></A
></A
><B
>liveSlotAnal</B
> :: <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; <A HREF="OptimizationFuel.html#t%3AFuelMonad"
>FuelMonad</A
> <A HREF="CmmStackLayout.html#t%3ASlotEnv"
>SlotEnv</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:liveSlotTransfers"
><A NAME="v%3AliveSlotTransfers"
></A
></A
><B
>liveSlotTransfers</B
> :: <A HREF="ZipDataflow.html#t%3ABackwardTransfers"
>BackwardTransfers</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> <A HREF="CmmExpr.html#t%3ASubAreaSet"
>SubAreaSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:removeLiveSlotDefs"
><A NAME="v%3AremoveLiveSlotDefs"
></A
></A
><B
>removeLiveSlotDefs</B
> :: (<A HREF="CmmExpr.html#t%3ADefinerOfSlots"
>DefinerOfSlots</A
> s, <A HREF="CmmExpr.html#t%3AUserOfSlots"
>UserOfSlots</A
> s) =&gt; <A HREF="CmmExpr.html#t%3ASubAreaSet"
>SubAreaSet</A
> -&gt; s -&gt; <A HREF="CmmExpr.html#t%3ASubAreaSet"
>SubAreaSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:layout"
><A NAME="v%3Alayout"
></A
></A
><B
>layout</B
> :: <A HREF="CmmProcPointZ.html#t%3AProcPointSet"
>ProcPointSet</A
> -&gt; <A HREF="CmmStackLayout.html#t%3ASlotEnv"
>SlotEnv</A
> -&gt; <A HREF="SMRep.html#t%3AByteOff"
>ByteOff</A
> -&gt; <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; <A HREF="CmmExpr.html#t%3AAreaMap"
>AreaMap</A
></TD
></TR
><TR
><TD CLASS="doc"
>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.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:manifestSP"
><A NAME="v%3AmanifestSP"
></A
></A
><B
>manifestSP</B
> :: <A HREF="CmmExpr.html#t%3AAreaMap"
>AreaMap</A
> -&gt; <A HREF="SMRep.html#t%3AByteOff"
>ByteOff</A
> -&gt; <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; <A HREF="OptimizationFuel.html#t%3AFuelMonad"
>FuelMonad</A
> (<A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
>)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:igraph"
><A NAME="v%3Aigraph"
></A
></A
><B
>igraph</B
> :: <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> x =&gt; IGraphBuilder x -&gt; <A HREF="CmmStackLayout.html#t%3ASlotEnv"
>SlotEnv</A
> -&gt; <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; IGraph x</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:areaBuilder"
><A NAME="v%3AareaBuilder"
></A
></A
><B
>areaBuilder</B
> :: IGraphBuilder <A HREF="CmmExpr.html#t%3AArea"
>Area</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:stubSlotsOnDeath"
><A NAME="v%3AstubSlotsOnDeath"
></A
></A
><B
>stubSlotsOnDeath</B
> :: <A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</A
> -&gt; <A HREF="OptimizationFuel.html#t%3AFuelMonad"
>FuelMonad</A
> (<A HREF="ZipCfg.html#t%3ALGraph"
>LGraph</A
> <A HREF="ZipCfgCmmRep.html#t%3AMiddle"
>Middle</A
> <A HREF="ZipCfgCmmRep.html#t%3ALast"
>Last</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
>