<!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 >CmmSpillReload</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_CmmSpillReload.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.10.4: 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" >CmmSpillReload</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" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AExtendWithSpills" >ExtendWithSpills</A > m </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ANotSpillOrReload" >NotSpillOrReload</A > m</TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ASpill" >Spill</A > <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AReload" >Reload</A > <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ADualLive" >DualLive</A > = <A HREF="#v%3ADualLive" >DualLive</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aon_stack" >on_stack</A > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Ain_regs" >in_regs</A > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdualLiveLattice" >dualLiveLattice</A > :: <A HREF="DFMonad.html#t%3ADataflowLattice" >DataflowLattice</A > <A HREF="CmmSpillReload.html#t%3ADualLive" >DualLive</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdualLiveTransfers" >dualLiveTransfers</A > :: <A HREF="BlockId.html#t%3ABlockSet" >BlockSet</A > -> <A HREF="ZipDataflow.html#t%3ABackwardTransfers" >BackwardTransfers</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > <A HREF="CmmSpillReload.html#t%3ADualLive" >DualLive</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdualLiveness" >dualLiveness</A > :: <A HREF="BlockId.html#t%3ABlockSet" >BlockSet</A > -> <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="BlockId.html#t%3ABlockEnv" >BlockEnv</A > <A HREF="CmmSpillReload.html#t%3ADualLive" >DualLive</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdualLivenessWithInsertion" >dualLivenessWithInsertion</A > :: <A HREF="BlockId.html#t%3ABlockSet" >BlockSet</A > -> <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AelimSpillAndReload" >elimSpillAndReload</A > :: <A HREF="CmmExpr.html#t%3AStackSlotMap" >StackSlotMap</A > -> <A HREF="ZipCfg.html#t%3ALGraph" >LGraph</A > M l -> (<A HREF="CmmExpr.html#t%3AStackSlotMap" >StackSlotMap</A >, <A HREF="ZipCfg.html#t%3ALGraph" >LGraph</A > <A HREF="ZipCfgCmmRep.html#t%3AMiddle" >Middle</A > l)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AavailRegsLattice" >availRegsLattice</A > :: <A HREF="DFMonad.html#t%3ADataflowLattice" >DataflowLattice</A > AvailRegs</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcmmAvailableReloads" >cmmAvailableReloads</A > :: <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > CmmAvail</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinsertLateReloads" >insertLateReloads</A > :: <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinsertLateReloads%27" >insertLateReloads'</A > :: <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AremoveDeadAssignmentsAndReloads" >removeDeadAssignmentsAndReloads</A > :: <A HREF="BlockId.html#t%3ABlockSet" >BlockSet</A > -> <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <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" >data</SPAN > <A NAME="t:ExtendWithSpills" ><A NAME="t%3AExtendWithSpills" ></A ></A ><B >ExtendWithSpills</B > m </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:NotSpillOrReload" ><A NAME="v%3ANotSpillOrReload" ></A ></A ><B >NotSpillOrReload</B > m</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Spill" ><A NAME="v%3ASpill" ></A ></A ><B >Spill</B > <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Reload" ><A NAME="v%3AReload" ></A ></A ><B >Reload</B > <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ExtendWithSpills')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:ExtendWithSpills" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > m => <A HREF="Outputable.html#t%3AOutputable" >Outputable</A > (<A HREF="CmmSpillReload.html#t%3AExtendWithSpills" >ExtendWithSpills</A > m)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > m => <A HREF="CmmExpr.html#t%3AUserOfLocalRegs" >UserOfLocalRegs</A > (<A HREF="CmmSpillReload.html#t%3AExtendWithSpills" >ExtendWithSpills</A > m)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > m => <A HREF="ZipDataflow.html#t%3ADebugNodes" >DebugNodes</A > (<A HREF="CmmSpillReload.html#t%3AExtendWithSpills" >ExtendWithSpills</A > m) <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:DualLive" ><A NAME="t%3ADualLive" ></A ></A ><B >DualLive</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:DualLive" ><A NAME="v%3ADualLive" ></A ></A ><B >DualLive</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:on_stack" ><A NAME="v%3Aon_stack" ></A ></A ><B >on_stack</B > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:in_regs" ><A NAME="v%3Ain_regs" ></A ></A ><B >in_regs</B > :: <A HREF="CmmExpr.html#t%3ARegSet" >RegSet</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:DualLive')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:DualLive" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Outputable.html#t%3AOutputable" >Outputable</A > <A HREF="CmmSpillReload.html#t%3ADualLive" >DualLive</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dualLiveLattice" ><A NAME="v%3AdualLiveLattice" ></A ></A ><B >dualLiveLattice</B > :: <A HREF="DFMonad.html#t%3ADataflowLattice" >DataflowLattice</A > <A HREF="CmmSpillReload.html#t%3ADualLive" >DualLive</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dualLiveTransfers" ><A NAME="v%3AdualLiveTransfers" ></A ></A ><B >dualLiveTransfers</B > :: <A HREF="BlockId.html#t%3ABlockSet" >BlockSet</A > -> <A HREF="ZipDataflow.html#t%3ABackwardTransfers" >BackwardTransfers</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > <A HREF="CmmSpillReload.html#t%3ADualLive" >DualLive</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dualLiveness" ><A NAME="v%3AdualLiveness" ></A ></A ><B >dualLiveness</B > :: <A HREF="BlockId.html#t%3ABlockSet" >BlockSet</A > -> <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="BlockId.html#t%3ABlockEnv" >BlockEnv</A > <A HREF="CmmSpillReload.html#t%3ADualLive" >DualLive</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dualLivenessWithInsertion" ><A NAME="v%3AdualLivenessWithInsertion" ></A ></A ><B >dualLivenessWithInsertion</B > :: <A HREF="BlockId.html#t%3ABlockSet" >BlockSet</A > -> <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:elimSpillAndReload" ><A NAME="v%3AelimSpillAndReload" ></A ></A ><B >elimSpillAndReload</B > :: <A HREF="CmmExpr.html#t%3AStackSlotMap" >StackSlotMap</A > -> <A HREF="ZipCfg.html#t%3ALGraph" >LGraph</A > M l -> (<A HREF="CmmExpr.html#t%3AStackSlotMap" >StackSlotMap</A >, <A HREF="ZipCfg.html#t%3ALGraph" >LGraph</A > <A HREF="ZipCfgCmmRep.html#t%3AMiddle" >Middle</A > l)</TD ></TR ><TR ><TD CLASS="doc" >For conversion back to vanilla C-- </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:availRegsLattice" ><A NAME="v%3AavailRegsLattice" ></A ></A ><B >availRegsLattice</B > :: <A HREF="DFMonad.html#t%3ADataflowLattice" >DataflowLattice</A > AvailRegs</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:cmmAvailableReloads" ><A NAME="v%3AcmmAvailableReloads" ></A ></A ><B >cmmAvailableReloads</B > :: <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > CmmAvail</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:insertLateReloads" ><A NAME="v%3AinsertLateReloads" ></A ></A ><B >insertLateReloads</B > :: <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:insertLateReloads'" ><A NAME="v%3AinsertLateReloads%27" ></A ></A ><B >insertLateReloads'</B > :: <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:removeDeadAssignmentsAndReloads" ><A NAME="v%3AremoveDeadAssignmentsAndReloads" ></A ></A ><B >removeDeadAssignmentsAndReloads</B > :: <A HREF="BlockId.html#t%3ABlockSet" >BlockSet</A > -> <A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <A HREF="ZipCfgCmmRep.html#t%3ALast" >Last</A > -> <A HREF="OptimizationFuel.html#t%3AFuelMonad" >FuelMonad</A > (<A HREF="ZipCfg.html#t%3AGraph" >Graph</A > M <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.4.2</TD ></TR ></TABLE ></BODY ></HTML >